:root {
    /* Configurația comună pentru notificările din magazin, admin și portal. */
    --solenyy-notice-travel: 25vw;
    --solenyy-notice-enter-duration: 400ms;
    --solenyy-notice-hold-duration: 2200ms;
    --solenyy-notice-exit-duration: 400ms;
    --solenyy-notice-width: 30rem;
    --solenyy-notice-font-size: clamp(1.125rem, 1rem + .45vw, 1.375rem);
    --solenyy-notice-padding: clamp(1.25rem, 2vw, 1.65rem) clamp(1.25rem, 3vw, 2rem);
    /* Accentul câmpurilor salvate: o singură expansiune de culoare în afara câmpului, fără fundal. */
    --solenyy-saved-channels: 226 90 32;
    --solenyy-saved-ring-strength: 0.92;
    --solenyy-saved-glow-strength: 0.62;
    --solenyy-saved-enter: 1400ms;
    --solenyy-saved-hold: 0ms;
    --solenyy-saved-exit: 0ms;
}
@property --solenyy-saved-alpha {
    syntax: "<number>";
    inherits: false;
    initial-value: 0;
}
@property --solenyy-saved-spread {
    syntax: "<length>";
    inherits: false;
    initial-value: 0px;
}
.solenyy-saved-flash {
    --solenyy-saved-alpha: 0;
    --solenyy-saved-spread: 0px;
    outline: none;
    box-shadow:
        0 0 0 2px rgb(var(--solenyy-saved-channels) / calc(var(--solenyy-saved-alpha) * var(--solenyy-saved-ring-strength))),
        0 0 var(--solenyy-saved-spread) calc(var(--solenyy-saved-spread) * .4) rgb(var(--solenyy-saved-channels) / calc(var(--solenyy-saved-alpha) * var(--solenyy-saved-glow-strength)));
    animation: solenyy-saved-bloom var(--solenyy-saved-enter) ease-out forwards;
}
@keyframes solenyy-saved-bloom {
    0% { --solenyy-saved-alpha: 0; --solenyy-saved-spread: 0px; }
    22% { --solenyy-saved-alpha: 1; --solenyy-saved-spread: 2px; }
    100% { --solenyy-saved-alpha: 0; --solenyy-saved-spread: 22px; }
}
button[data-solenyy-save-state="clean"],
button[data-solenyy-save-state="saved"] {
    background-color: #fff !important;
    color: #c2410c !important;
    border: 1px solid #fed7aa !important;
    box-shadow: none !important;
}
button[data-solenyy-save-state="clean"]:hover,
button[data-solenyy-save-state="saved"]:hover {
    background-color: #fff7ed !important;
}
button[data-solenyy-save-state="dirty"],
button[data-solenyy-save-state="saving"],
button[data-solenyy-save-state="failed"],
button[data-solenyy-save-state="unknown"] {
    background-color: #ea580c !important;
    color: #fff !important;
    border: 1px solid #ea580c !important;
}
button[data-solenyy-save-state="dirty"]:hover,
button[data-solenyy-save-state="saving"]:hover,
button[data-solenyy-save-state="failed"]:hover,
button[data-solenyy-save-state="unknown"]:hover {
    background-color: #c2410c !important;
    border-color: #c2410c !important;
}
button[data-save-count]::after {
    content: attr(data-save-count);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    margin-left: .45rem;
    padding: 0 .3rem;
    border-radius: 999px;
    background: #fff;
    color: #c2410c;
    font-size: .75rem;
    font-weight: 800;
    line-height: 1;
}
.solenyy-notice-host {
    position: fixed;
    z-index: 1050;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    padding: 1rem;
    overflow: hidden;
    pointer-events: none;
}
.solenyy-notice-live {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.solenyy-notice-card {
    position: relative;
    flex: 0 1 auto;
    box-sizing: border-box;
    width: min(var(--solenyy-notice-width), 100%);
    min-width: 0;
    max-width: 100%;
    max-height: calc(100dvh - 2rem);
    overflow-wrap: anywhere;
    overflow-y: auto;
    padding: var(--solenyy-notice-padding);
    border-radius: 1.25rem;
    background: linear-gradient(135deg, #fff, #fff7ed);
    color: #7c2d12;
    border: 2px solid #fb923c;
    box-shadow: 0 24px 56px -16px rgba(154, 52, 18, .32), 0 8px 24px rgba(15, 23, 42, .1);
    font-family: Outfit, system-ui, sans-serif;
    font-size: var(--solenyy-notice-font-size);
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    transform: translateX(calc(-1 * var(--solenyy-notice-travel)));
    opacity: 0;
    transition: transform var(--solenyy-notice-enter-duration) cubic-bezier(.16, 1, .3, 1), opacity var(--solenyy-notice-enter-duration) ease;
}
.solenyy-notice-card p {
    margin: 0;
}
.solenyy-notice-card.is-in {
    transform: translateX(0);
    opacity: 1;
}
.solenyy-notice-card.is-out {
    transform: translateX(var(--solenyy-notice-travel));
    opacity: 0;
    transition-duration: var(--solenyy-notice-exit-duration);
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}
.solenyy-notice-card.is-persistent {
    pointer-events: auto;
    background: #fff;
    color: #7f1d1d;
    border-color: #fecaca;
}
.solenyy-notice-card.is-persistent.is-warning {
    color: #9a3412;
    border-color: #fdba74;
    background: #fff7ed;
}
.solenyy-notice-dismiss {
    display: block;
    margin: .65rem auto 0;
    border: 0;
    background: #ea580c;
    color: #fff;
    border-radius: .7rem;
    min-height: 44px;
    padding: .5rem 1rem;
    font: inherit;
    font-size: .85rem;
    cursor: pointer;
}
[data-profile-save] input {
    scroll-margin-top: 14rem;
    scroll-margin-bottom: 2rem;
}
@media (max-width: 1023px) {
    [data-solenyy-page="order"] form button[type="submit"],
    [data-solenyy-page="order"] form button:not([type]) {
        position: sticky;
        bottom: calc(.75rem + env(safe-area-inset-bottom));
        z-index: 5;
    }
    #settings-save {
        position: sticky;
        bottom: calc(.75rem + env(safe-area-inset-bottom));
        z-index: 6;
    }
}
@media (prefers-reduced-motion: reduce) {
    :root {
        --solenyy-notice-travel: 0px;
        --solenyy-notice-enter-duration: 150ms;
        --solenyy-notice-hold-duration: 2700ms;
        --solenyy-notice-exit-duration: 150ms;
    }
    .solenyy-saved-flash {
        animation: none;
        --solenyy-saved-alpha: 0.7;
        --solenyy-saved-spread: 0px;
    }
    .solenyy-notice-card,
    .solenyy-notice-card.is-in,
    .solenyy-notice-card.is-out {
        transform: none;
        transition-property: opacity;
        transition-timing-function: linear;
    }
}
