.footer .newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer .newsletter-form-row {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.footer .newsletter-form input {
    flex: 1;
    min-width: 0;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 9px;
    padding: 11px 12px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font: inherit;
    outline: none;
}

.footer .newsletter-form input:focus {
    border-color: #e5bb97;
    box-shadow: 0 0 0 3px rgba(229,187,151,.16);
}

.footer .newsletter-form input::placeholder { color: rgba(255,255,255,.58); }

.footer .newsletter-form button {
    flex: none;
    border: 0;
    border-radius: 9px;
    padding: 0 15px;
    background: #e5bb97;
    color: #084c52;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: opacity .2s ease, transform .2s ease;
}

.footer .newsletter-form button:hover { transform: translateY(-1px); }
.footer .newsletter-form button:disabled { opacity: .65; cursor: wait; transform: none; }

.site-toast {
    position: fixed;
    z-index: 12000;
    inset: 22px 22px auto auto;
    display: flex;
    align-items: center;
    gap: 11px;
    width: min(420px, calc(100vw - 32px));
    min-height: 64px;
    padding: 14px 16px;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(15,23,42,.2);
    color: #1f2937;
    font: 600 13px/1.8 iransans-fa, Vazirmatn, Tahoma, sans-serif;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-12px);
    transition: opacity .22s ease, transform .22s ease;
}

.site-toast.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.site-toast.is-success { border-color: #bbf7d0; }
.site-toast.is-error { border-color: #fecaca; }
.site-toast-icon { display: grid; flex: none; width: 28px; height: 28px; place-items: center; border-radius: 50%; font-size: 17px; font-weight: 900; }
.site-toast.is-success .site-toast-icon { background: #dcfce7; color: #15803d; }
.site-toast.is-success .site-toast-icon::before { content: "✓"; }
.site-toast.is-error .site-toast-icon { background: #fee2e2; color: #dc2626; }
.site-toast.is-error .site-toast-icon::before { content: "!"; }
.site-toast-message { flex: 1; }
.site-toast-close { flex: none; border: 0; background: transparent; color: #64748b; font: 400 22px/1 Tahoma, sans-serif; cursor: pointer; }
.site-toast-timer { position: absolute; inset: auto 0 0; height: 3px; background: #16a34a; transform-origin: right center; }
.site-toast.is-error .site-toast-timer { background: #dc2626; }
.site-toast.is-visible .site-toast-timer { animation: site-toast-timer 5s linear forwards; }
@keyframes site-toast-timer { from { transform: scaleX(1); } to { transform: scaleX(0); } }

@media(max-width: 540px) {
    .site-toast { inset: 12px 12px auto auto; width: calc(100vw - 24px); }
    .footer .newsletter-form-row { flex-direction: column; }
    .footer .newsletter-form button { min-height: 42px; }
}

@media(prefers-reduced-motion: reduce) {
    .site-toast, .footer .newsletter-form button { transition: none; }
    .site-toast.is-visible .site-toast-timer { animation-duration: .01ms; }
}
