/* Force remove all outlines and borders from interactive elements */

/* Universal outline removal */
* {
    outline: none !important;
}

*:focus {
    outline: none !important;
    border: none !important;
}

*:focus-visible {
    outline: none !important;
    border: none !important;
}

/* Specific button rules */
button,
.button,
.btn,
input[type="button"],
input[type="submit"],
input[type="reset"] {
    outline: none !important;
    border: none !important;
}

button:hover,
.button:hover,
.btn:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover {
    outline: none !important;
    border: none !important;
}

button:focus,
.button:focus,
.btn:focus,
input[type="button"]:focus,
input[type="submit"]:focus,
input[type="reset"]:focus {
    outline: none !important;
    border: none !important;
}

button:active,
.button:active,
.btn:active,
input[type="button"]:active,
input[type="submit"]:active,
input[type="reset"]:active {
    outline: none !important;
    border: none !important;
}

button:focus-visible,
.button:focus-visible,
.btn:focus-visible,
input[type="button"]:focus-visible,
input[type="submit"]:focus-visible,
input[type="reset"]:focus-visible {
    outline: none !important;
    border: none !important;
}

/* Link rules */
a {
    outline: none !important;
}

a:hover {
    outline: none !important;
}

a:focus {
    outline: none !important;
}

a:active {
    outline: none !important;
}

a:focus-visible {
    outline: none !important;
}

/* CTA Button specific rules with highest specificity */
.cta-button,
.hero .cta-button,
.hero__content .cta-button,
main .hero .cta-button,
body .hero .cta-button {
    outline: none !important;
    border: none !important;
}

.cta-button:hover,
.hero .cta-button:hover,
.hero__content .cta-button:hover,
main .hero .cta-button:hover,
body .hero .cta-button:hover {
    outline: none !important;
    border: none !important;
}

.cta-button:focus,
.hero .cta-button:focus,
.hero__content .cta-button:focus,
main .hero .cta-button:focus,
body .hero .cta-button:focus {
    outline: none !important;
    border: none !important;
}

.cta-button:active,
.hero .cta-button:active,
.hero__content .cta-button:active,
main .hero .cta-button:active,
body .hero .cta-button:active {
    outline: none !important;
    border: none !important;
}

.cta-button:focus-visible,
.hero .cta-button:focus-visible,
.hero__content .cta-button:focus-visible,
main .hero .cta-button:focus-visible,
body .hero .cta-button:focus-visible {
    outline: none !important;
    border: none !important;
}

/* Submit button rules */
.submit-button,
.modal-feedback__submit {
    outline: none !important;
    border: none !important;
}

.submit-button:hover,
.modal-feedback__submit:hover {
    outline: none !important;
    border: none !important;
}

.submit-button:focus,
.modal-feedback__submit:focus {
    outline: none !important;
    border: none !important;
}

.submit-button:active,
.modal-feedback__submit:active {
    outline: none !important;
    border: none !important;
}

.submit-button:focus-visible,
.modal-feedback__submit:focus-visible {
    outline: none !important;
    border: none !important;
}

/* Browser-specific outline removal */
input:-webkit-autofill:focus {
    outline: none !important;
}

input:-moz-focusring {
    outline: none !important;
}

/* Remove Firefox dotted outline */
::-moz-focus-inner {
    border: 0 !important;
    outline: none !important;
}

/* Remove IE/Edge outline */
::-ms-clear {
    outline: none !important;
}

/* Remove Safari/WebKit outline glow */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
textarea:focus {
    outline: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}
