/* Nordia storefront feedback system: field validation, persistent notices and toasts. */
.tf-theme-nordia {
    --tf-feedback-danger: #b42318;
    --tf-feedback-danger-border: #f2b8b5;
    --tf-feedback-danger-bg: #fff6f5;
    --tf-feedback-success: #18794e;
    --tf-feedback-success-border: #a9dfc5;
    --tf-feedback-success-bg: #f2fbf6;
    --tf-feedback-warning: #946200;
    --tf-feedback-warning-border: #ead39b;
    --tf-feedback-warning-bg: #fffaf0;
    --tf-feedback-info: #245b8a;
    --tf-feedback-info-border: #b8d7ee;
    --tf-feedback-info-bg: #f3f9fd;
}

.tf-theme-nordia .tf-field-error,
.tf-theme-nordia [data-tf-auth-error],
.tf-theme-nordia [data-question-error] {
    display: block;
    width: 100%;
    margin: 6px 0 0 !important;
    color: var(--tf-feedback-danger) !important;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
}

.tf-theme-nordia .tf-field-error:empty,
.tf-theme-nordia [data-tf-auth-error]:empty,
.tf-theme-nordia [data-question-error]:empty {
    display: none;
}

.tf-theme-nordia :is(input, select, textarea).is-invalid,
.tf-theme-nordia .password-wrapper:has(.is-invalid) input,
.tf-theme-nordia .iti:has(.is-invalid) input {
    border-color: var(--tf-feedback-danger) !important;
    background-color: var(--tf-feedback-danger-bg) !important;
    background-image: none !important;
    color: inherit;
}

.tf-theme-nordia :is(input, select, textarea).is-invalid:focus,
.tf-theme-nordia .password-wrapper:has(.is-invalid) input:focus,
.tf-theme-nordia .iti:has(.is-invalid) input:focus {
    border-color: var(--tf-feedback-danger) !important;
    box-shadow: 0 0 0 3px rgba(180, 35, 24, .12) !important;
    outline: 0;
}

.tf-theme-nordia input[type="checkbox"].is-invalid,
.tf-theme-nordia input[type="radio"].is-invalid {
    outline: 2px solid var(--tf-feedback-danger);
    outline-offset: 2px;
}

.tf-theme-nordia .tf-feedback,
.tf-theme-nordia .tf-checkout__alert,
.tf-theme-nordia .tf-auth__alert,
.tf-theme-nordia .zipcode-message.error,
.tf-theme-nordia .zipcode-message.warning,
.tf-theme-nordia .contact-form-result:not([hidden]) {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    padding: 13px 15px !important;
    border: 1px solid var(--tf-feedback-danger-border) !important;
    border-radius: 8px !important;
    background: var(--tf-feedback-danger-bg) !important;
    color: var(--tf-feedback-danger) !important;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    box-shadow: none;
}

.tf-theme-nordia .tf-feedback::before,
.tf-theme-nordia .tf-checkout__alert::before,
.tf-theme-nordia .tf-auth__alert::before,
.tf-theme-nordia .zipcode-message.error::before,
.tf-theme-nordia .zipcode-message.warning::before,
.tf-theme-nordia .contact-form-result:not([hidden])::before {
    content: "\F333";
    flex: 0 0 auto;
    margin-top: 1px;
    font-family: "bootstrap-icons";
    font-size: 16px;
    line-height: 1.25;
}

.tf-theme-nordia :is(.tf-feedback--success, .tf-auth__alert--success, .contact-form-result.is-success) {
    border-color: var(--tf-feedback-success-border) !important;
    background: var(--tf-feedback-success-bg) !important;
    color: var(--tf-feedback-success) !important;
}

.tf-theme-nordia :is(.tf-feedback--success, .tf-auth__alert--success, .contact-form-result.is-success)::before {
    content: "\F26A";
}

.tf-theme-nordia :is(.tf-feedback--warning, .tf-auth__alert--warning, .zipcode-message.warning) {
    border-color: var(--tf-feedback-warning-border) !important;
    background: var(--tf-feedback-warning-bg) !important;
    color: var(--tf-feedback-warning) !important;
}

.tf-theme-nordia :is(.tf-feedback--warning, .tf-auth__alert--warning, .zipcode-message.warning)::before {
    content: "\F33A";
}

.tf-theme-nordia .tf-feedback--info {
    border-color: var(--tf-feedback-info-border) !important;
    background: var(--tf-feedback-info-bg) !important;
    color: var(--tf-feedback-info) !important;
}

.tf-theme-nordia .tf-feedback--info::before {
    content: "\F431";
}

.tf-theme-nordia .tf-feedback p,
.tf-theme-nordia .tf-checkout__alert p,
.tf-theme-nordia .zipcode-message p {
    margin: 0;
    color: inherit;
}

.tf-theme-nordia #tf-toast-host {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    pointer-events: none;
}

.tf-theme-nordia #tf-toast-host .tf-toast {
    overflow: visible !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    box-shadow: 0 14px 40px rgba(24, 24, 27, .14) !important;
    pointer-events: auto;
}

.tf-theme-nordia #tf-toast-host .tf-toast__body {
    min-height: 56px;
    border: 1px solid var(--tf-feedback-info-border);
    border-left: 4px solid var(--tf-feedback-info);
    border-radius: 10px !important;
    background: #fff !important;
    color: #18181b !important;
}

.tf-theme-nordia #tf-toast-host .tf-toast--error .tf-toast__body {
    border-color: var(--tf-feedback-danger-border);
    border-left-color: var(--tf-feedback-danger);
}

.tf-theme-nordia #tf-toast-host .tf-toast--success .tf-toast__body {
    border-color: var(--tf-feedback-success-border);
    border-left-color: var(--tf-feedback-success);
}

.tf-theme-nordia #tf-toast-host .tf-toast--warning .tf-toast__body {
    border-color: var(--tf-feedback-warning-border);
    border-left-color: var(--tf-feedback-warning);
}

.tf-theme-nordia #tf-toast-host .tf-toast__icon {
    margin-top: 2px;
    color: var(--tf-feedback-info);
    font-size: 18px;
    line-height: 1;
}

.tf-theme-nordia #tf-toast-host .tf-toast--error .tf-toast__icon { color: var(--tf-feedback-danger); }
.tf-theme-nordia #tf-toast-host .tf-toast--success .tf-toast__icon { color: var(--tf-feedback-success); }
.tf-theme-nordia #tf-toast-host .tf-toast--warning .tf-toast__icon { color: var(--tf-feedback-warning); }
.tf-theme-nordia #tf-toast-host :is(.tf-toast__title, .tf-toast__desc) { color: inherit !important; }
.tf-theme-nordia #tf-toast-host .tf-toast__close { color: #71717a !important; }
.tf-theme-nordia #tf-toast-host .tf-toast__close:hover { color: #18181b !important; }

@media (max-width: 575.98px) {
    .tf-theme-nordia #tf-toast-host {
        width: calc(100vw - 24px) !important;
        padding: 0 !important;
    }

    .tf-theme-nordia #tf-toast-host .tf-toast {
        min-width: 0 !important;
        max-width: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tf-theme-nordia .tf-toast,
    .tf-theme-nordia .tf-checkout__alert.is-attention {
        animation: none !important;
        transition: none !important;
    }
}
