.p212fn-running body > .woocommerce-message,
.p212fn-running body > .woocommerce-error,
.p212fn-running body > .woocommerce-info,
.p212fn-running .woocommerce-notices-wrapper > .woocommerce-message,
.p212fn-running .woocommerce-notices-wrapper > .woocommerce-error,
.p212fn-running .woocommerce-notices-wrapper > .woocommerce-info,
.p212fn-running .wc-block-components-notices > .wc-block-components-notice-banner {
    display: none !important;
}

.p212fn-root {
    position: fixed;
    z-index: var(--p212fn-z, 999999);
    display: flex;
    flex-direction: column;
    gap: var(--p212fn-gap, 12px);
    width: min(var(--p212fn-width, 390px), calc(100vw - (var(--p212fn-offset-x, 20px) * 2)));
    pointer-events: none;
    box-sizing: border-box;
}

.p212fn-root--top-left {
    top: var(--p212fn-offset-y, 20px);
    left: var(--p212fn-offset-x, 20px);
}

.p212fn-root--top-center {
    top: var(--p212fn-offset-y, 20px);
    left: 50%;
    transform: translateX(-50%);
}

.p212fn-root--top-right {
    top: var(--p212fn-offset-y, 20px);
    right: var(--p212fn-offset-x, 20px);
}

.p212fn-root--bottom-left {
    bottom: var(--p212fn-offset-y, 20px);
    left: var(--p212fn-offset-x, 20px);
}

.p212fn-root--bottom-center {
    bottom: var(--p212fn-offset-y, 20px);
    left: 50%;
    transform: translateX(-50%);
}

.p212fn-root--bottom-right {
    right: var(--p212fn-offset-x, 20px);
    bottom: var(--p212fn-offset-y, 20px);
}

.p212fn-toast {
    --p212fn-bg: var(--p212fn-info-bg);
    --p212fn-text: var(--p212fn-info-text);
    --p212fn-accent: var(--p212fn-info-accent);
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: 12px;
    width: 100%;
    min-height: 64px;
    margin: 0;
    padding: 15px;
    overflow: hidden;
    color: var(--p212fn-text);
    font: inherit;
    line-height: 1.45;
    background: var(--p212fn-bg);
    border: var(--p212fn-border, 1px) solid var(--p212fn-accent);
    border-color: color-mix(in srgb, var(--p212fn-accent) 28%, transparent);
    border-radius: var(--p212fn-radius, 14px);
    box-shadow: var(--p212fn-shadow);
    box-sizing: border-box;
    opacity: 0;
    pointer-events: auto;
    transform: translate3d(22px, 0, 0);
    transition: opacity .22s ease, transform .22s ease;
}

.p212fn-toast--success {
    --p212fn-bg: var(--p212fn-success-bg);
    --p212fn-text: var(--p212fn-success-text);
    --p212fn-accent: var(--p212fn-success-accent);
}

.p212fn-toast--error {
    --p212fn-bg: var(--p212fn-error-bg);
    --p212fn-text: var(--p212fn-error-text);
    --p212fn-accent: var(--p212fn-error-accent);
}

.p212fn-toast--info {
    --p212fn-bg: var(--p212fn-info-bg);
    --p212fn-text: var(--p212fn-info-text);
    --p212fn-accent: var(--p212fn-info-accent);
}

.p212fn-root[class*="--top-center"] .p212fn-toast,
.p212fn-root[class*="--bottom-center"] .p212fn-toast {
    transform: translate3d(0, 14px, 0);
}

.p212fn-root[class*="--left"] .p212fn-toast {
    transform: translate3d(-22px, 0, 0);
}

.p212fn-toast.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

.p212fn-toast.is-leaving {
    opacity: 0;
    transform: translate3d(0, -8px, 0) scale(.98);
}

.p212fn-toast--fade {
    transform: none !important;
}

.p212fn-toast--scale {
    transform: scale(.94);
}

.p212fn-toast__icon {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    color: var(--p212fn-accent);
    border: 1px solid color-mix(in srgb, var(--p212fn-accent) 42%, transparent);
    border-radius: 999px;
    box-sizing: border-box;
}

.p212fn-toast__icon svg,
.p212fn-toast__close svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.p212fn-toast__body {
    min-width: 0;
}

.p212fn-toast__title {
    display: block;
    margin: 1px 0 3px;
    color: inherit;
    font-size: 14px;
    font-weight: 700;
}

.p212fn-toast__message {
    min-width: 0;
    margin: 2px 0 0;
    color: inherit;
    font-size: 14px;
    font-weight: 450;
    overflow-wrap: anywhere;
}

.p212fn-toast__message > * {
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font: inherit !important;
    list-style: none !important;
    background: none !important;
    border: 0 !important;
}

.p212fn-toast__message a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.p212fn-toast__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 11px;
}

.p212fn-toast .p212fn-toast__button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    margin: 0 !important;
    padding: 7px 11px !important;
    color: var(--p212fn-button-text) !important;
    font: inherit !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .04em;
    text-decoration: none !important;
    text-transform: uppercase;
    background: var(--p212fn-button-bg) !important;
    border: 1px solid var(--p212fn-button-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    box-sizing: border-box;
    transition: background-color .18s ease, transform .18s ease;
}

.p212fn-toast .p212fn-toast__button:hover,
.p212fn-toast .p212fn-toast__button:focus-visible {
    color: var(--p212fn-button-text) !important;
    background: var(--p212fn-button-hover) !important;
    transform: translateY(-1px);
}

.p212fn-toast__close {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    margin: -3px -3px 0 0;
    padding: 0;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    cursor: pointer;
    opacity: .66;
    appearance: none;
}

.p212fn-toast__close:hover,
.p212fn-toast__close:focus-visible {
    color: inherit;
    background: color-mix(in srgb, var(--p212fn-text) 10%, transparent);
    outline: none;
    opacity: 1;
}

.p212fn-toast__progress {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background: var(--p212fn-accent);
    opacity: .55;
    transform-origin: left center;
    animation-name: p212fn-progress;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
}

@keyframes p212fn-progress {
    from { transform: scaleX(1); }
    to { transform: scaleX(0); }
}

@media (prefers-reduced-motion: reduce) {
    .p212fn-toast {
        transition-duration: .01ms;
    }

    .p212fn-toast__progress {
        animation: none;
        display: none;
    }
}

.p212fn-root.is-mobile {
    right: var(--p212fn-mobile-margin, 12px) !important;
    left: var(--p212fn-mobile-margin, 12px) !important;
    width: auto;
    max-width: none;
    transform: none !important;
}

.p212fn-root.is-mobile.p212fn-root--mobile-top-center {
    top: var(--p212fn-mobile-margin, 12px) !important;
    bottom: auto !important;
}

.p212fn-root.is-mobile.p212fn-root--mobile-bottom-center {
    top: auto !important;
    bottom: var(--p212fn-mobile-margin, 12px) !important;
}

.p212fn-root.is-mobile .p212fn-toast {
    gap: 10px;
    padding: 13px;
}
