/*
 * =============================================================================
 * SloganIndex Core - Site Footer
 * Version: 1.0.5
 * Created: 2026-06-20 21:35 UTC
 * Updated: 2026-06-20 21:35 UTC - initial controlled bilingual footer
 * =============================================================================
 */

body.si-core-site-footer-hide-theme-footer #colophon,
body.si-core-site-footer-hide-theme-footer footer.site-footer:not(.si-core-site-footer),
body.si-core-site-footer-hide-theme-footer .site-footer:not(.si-core-site-footer),
body.si-core-site-footer-hide-theme-footer .ast-footer-wrap,
body.si-core-site-footer-hide-theme-footer .ast-footer-overlay,
body.si-core-site-footer-hide-theme-footer .ast-small-footer,
body.si-core-site-footer-hide-theme-footer .ast-builder-footer-grid-columns,
body.si-core-site-footer-hide-theme-footer .ast-footer-copyright {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.si-core-site-footer,
.si-core-site-footer * {
    box-sizing: border-box;
}

.si-core-site-footer {
    --si-footer-bg: var(--si-surface-color, #FFF9EF);
    --si-footer-bg-alt: var(--si-elevated-color, #FFFCF5);
    --si-footer-text: var(--si-text-color, #24313D);
    --si-footer-heading: var(--si-heading-color, #17202A);
    --si-footer-muted: var(--si-muted-color, #667085);
    --si-footer-subtle: var(--si-subtle-text-color, #8A7F70);
    --si-footer-border: var(--si-border-color, #D8CDBA);
    --si-footer-border-strong: var(--si-border-strong-color, #B6A78F);
    --si-footer-accent: var(--si-accent-color, #0F766E);
    --si-footer-accent-soft: var(--si-accent-soft-color, #E6F4EF);
    --si-footer-link: var(--si-link-color, #0F766E);
    --si-footer-link-hover: var(--si-link-hover-color, #134E4A);
    --si-footer-shadow: var(--si-shadow-color, rgba(36, 49, 61, 0.08));
    --si-footer-shadow-strong: var(--si-shadow-strong-color, rgba(36, 49, 61, 0.14));

    position: relative;
    z-index: 5;
    width: 100%;
    margin: clamp(42px, 7vw, 96px) 0 0;
    color: var(--si-footer-text);
    background:
        radial-gradient(circle at 12% 0%, var(--si-footer-accent-soft), transparent 32%),
        linear-gradient(180deg, var(--si-footer-bg-alt), var(--si-footer-bg));
    border-block-start: 1px solid var(--si-footer-border);
    font-family: var(--si-font-family-fa, Vazirmatn, Tahoma, Arial, sans-serif);
    isolation: isolate;
}

html[data-si-theme="dark"] .si-core-site-footer,
body.si-theme-dark .si-core-site-footer {
    --si-footer-bg: var(--si-surface-color, #111827);
    --si-footer-bg-alt: var(--si-elevated-color, #1B263B);
}

.si-core-site-footer[data-locale="en"] {
    font-family: var(--si-font-family-en, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

.si-core-site-footer::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block-start: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--si-footer-accent), transparent);
    opacity: .72;
    pointer-events: none;
}

.si-core-site-footer-shell {
    width: min(100%, 1320px);
    margin-inline: auto;
    padding: clamp(32px, 5vw, 64px) clamp(16px, 4vw, 32px) clamp(18px, 3vw, 28px);
}

.si-core-site-footer-top {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(210px, .72fr) minmax(260px, .88fr);
    gap: clamp(22px, 4vw, 52px);
    align-items: start;
}

.si-core-site-footer-brand,
.si-core-site-footer-nav,
.si-core-site-footer-action {
    min-width: 0;
}

.si-core-site-footer-brand-row {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.si-core-site-footer-logo-mark {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 170px;
    min-width: 0;
    line-height: 0;
}

.si-core-site-footer-logo-mark :where(a, picture) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 170px !important;
    line-height: 0 !important;
}

.si-core-site-footer-logo-mark :where(img, svg) {
    display: block !important;
    width: auto !important;
    max-width: 170px !important;
    max-height: 52px !important;
    object-fit: contain !important;
}

.si-core-site-footer-title-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: var(--si-footer-heading);
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 950;
    line-height: 1;
    text-decoration: none;
}

.si-core-site-footer-brand-copy {
    min-width: 0;
}

.si-core-site-footer-title,
.si-core-site-footer-heading {
    margin: 0;
    color: var(--si-footer-heading);
    font-weight: 950;
    letter-spacing: -0.02em;
}

.si-core-site-footer-title {
    font-size: clamp(22px, 3vw, 32px);
    line-height: 1.08;
}

.si-core-site-footer-heading {
    font-size: clamp(16px, 1.7vw, 19px);
    line-height: 1.2;
    margin-block-end: 14px;
}

.si-core-site-footer-tagline {
    margin: 6px 0 0;
    max-width: 640px;
    color: var(--si-footer-muted);
    font-size: clamp(13px, 1.5vw, 15px);
    font-weight: 700;
    line-height: 1.75;
}

.si-core-site-footer-description,
.si-core-site-footer-action-text {
    margin: 18px 0 0;
    color: var(--si-footer-muted);
    font-size: clamp(14px, 1.55vw, 16px);
    font-weight: 520;
    line-height: 2;
}

.si-core-site-footer-menu {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 0;
    margin: 0;
}

.si-core-site-footer-menu-item {
    min-width: 0;
}

.si-core-site-footer-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 3px 0;
    color: var(--si-footer-text);
    font-size: 14.5px;
    font-weight: 750;
    line-height: 1.5;
    text-decoration: none;
    transition: color .18s ease, transform .18s ease;
}

.si-core-site-footer-link::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--si-footer-accent);
    opacity: .62;
    flex: 0 0 auto;
    transition: opacity .18s ease, transform .18s ease;
}

.si-core-site-footer-link:hover,
.si-core-site-footer-link:focus-visible {
    color: var(--si-footer-link-hover);
    transform: translateX(-2px);
}

.si-core-site-footer[data-locale="en"] .si-core-site-footer-link:hover,
.si-core-site-footer[data-locale="en"] .si-core-site-footer-link:focus-visible {
    transform: translateX(2px);
}

.si-core-site-footer-link:hover::before,
.si-core-site-footer-link:focus-visible::before {
    opacity: 1;
    transform: scale(1.16);
}

.si-core-site-footer-action {
    padding: clamp(18px, 2.5vw, 24px);
    border: 1px solid var(--si-footer-border);
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.06), transparent),
        var(--si-footer-bg-alt);
    box-shadow: 0 18px 48px var(--si-footer-shadow);
}

.si-core-site-footer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-block-start: 20px;
}

.si-core-site-footer-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 16px;
    border-radius: 999px;
    font-size: 13.5px;
    font-weight: 900;
    line-height: 1.3;
    text-decoration: none;
    border: 1px solid transparent;
    transition: transform .18s ease, box-shadow .18s ease, color .18s ease, background-color .18s ease, border-color .18s ease;
}

.si-core-site-footer-button:hover,
.si-core-site-footer-button:focus-visible {
    transform: translateY(-1px);
}

.si-core-site-footer-button-primary {
    color: var(--si-inverse-text-color, #fff);
    background: var(--si-footer-accent);
    border-color: var(--si-footer-accent);
    box-shadow: 0 12px 28px var(--si-footer-shadow-strong);
}

html[data-si-theme="dark"] .si-core-site-footer-button-primary,
body.si-theme-dark .si-core-site-footer-button-primary {
    color: #07111F;
}

.si-core-site-footer-button-secondary {
    color: var(--si-footer-link);
    background: var(--si-footer-accent-soft);
    border-color: var(--si-footer-border);
}

.si-core-site-footer-button-secondary:hover,
.si-core-site-footer-button-secondary:focus-visible {
    color: var(--si-footer-link-hover);
    border-color: var(--si-footer-border-strong);
}

.si-core-site-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-block-start: clamp(28px, 4vw, 52px);
    padding-block-start: 18px;
    border-block-start: 1px solid var(--si-footer-border);
    color: var(--si-footer-subtle);
}

.si-core-site-footer-copyright,
.si-core-site-footer-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    min-width: 0;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.8;
}

.si-core-site-footer-built {
    color: var(--si-footer-subtle);
}

.si-core-site-footer-language {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 4px 11px;
    border-radius: 999px;
    border: 1px solid var(--si-footer-border);
    color: var(--si-footer-link);
    background: var(--si-footer-bg-alt);
    font-size: 12.5px;
    font-weight: 900;
    line-height: 1.4;
    text-decoration: none;
    transition: color .18s ease, border-color .18s ease, transform .18s ease;
}

.si-core-site-footer-language:hover,
.si-core-site-footer-language:focus-visible {
    color: var(--si-footer-link-hover);
    border-color: var(--si-footer-border-strong);
    transform: translateY(-1px);
}

.si-core-site-footer :where(a, button):focus-visible {
    outline: 3px solid var(--si-focus-ring-color, rgba(15, 118, 110, .26));
    outline-offset: 3px;
}

@supports (color: color-mix(in srgb, white, black)) {
    .si-core-site-footer {
        --si-footer-bg: color-mix(in srgb, var(--si-surface-color, #FFF9EF) 94%, var(--si-page-bg, #F4EFE3));
        --si-footer-bg-alt: color-mix(in srgb, var(--si-elevated-color, #FFFCF5) 92%, var(--si-surface-color, #FFF9EF));
        --si-footer-accent-soft: color-mix(in srgb, var(--si-accent-color, #0F766E) 12%, var(--si-surface-color, #FFF9EF));
    }

    html[data-si-theme="dark"] .si-core-site-footer,
    body.si-theme-dark .si-core-site-footer {
        --si-footer-bg: color-mix(in srgb, var(--si-surface-color, #111827) 88%, var(--si-page-bg, #0A0F1C));
        --si-footer-bg-alt: color-mix(in srgb, var(--si-elevated-color, #1B263B) 80%, var(--si-surface-color, #111827));
        --si-footer-accent-soft: color-mix(in srgb, var(--si-accent-color, #38BDF8) 14%, var(--si-surface-color, #111827));
    }
}

@media (max-width: 980px) {
    .si-core-site-footer-top {
        grid-template-columns: 1fr 1fr;
    }

    .si-core-site-footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 720px) {
    .si-core-site-footer {
        margin-block-start: 48px;
    }

    .si-core-site-footer-shell {
        padding-inline: 16px;
    }

    .si-core-site-footer-top {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .si-core-site-footer-brand-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .si-core-site-footer-logo-mark,
    .si-core-site-footer-logo-mark :where(a, picture),
    .si-core-site-footer-logo-mark :where(img, svg) {
        max-width: 156px !important;
        max-height: 46px !important;
    }

    .si-core-site-footer-action {
        border-radius: 24px;
    }

    .si-core-site-footer-actions {
        flex-direction: column;
    }

    .si-core-site-footer-button {
        width: 100%;
    }

    .si-core-site-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .si-core-site-footer-meta {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* =============================================================================
 * Core Site Footer — v1.0.2
 * Simple hover model
 * Updated: 2026-06-21 02:05 UTC
 *
 * Requested:
 * - Remove hover shadows/extra boxes.
 * - Use simple text, border and background changes.
 * ========================================================================== */

.si-core-site-footer-button,
.si-core-site-footer-button:hover,
.si-core-site-footer-button:focus,
.si-core-site-footer-button:focus-visible,
.si-core-site-footer-language,
.si-core-site-footer-language:hover,
.si-core-site-footer-language:focus-visible,
.si-core-site-footer-link,
.si-core-site-footer-link:hover,
.si-core-site-footer-link:focus-visible {
    box-shadow: none !important;
    outline: 0 !important;
    outline-offset: 0 !important;
    transform: none !important;
}

.si-core-site-footer-button:hover,
.si-core-site-footer-button:focus-visible {
    border-color: var(--si-footer-accent, var(--si-accent-color, #0f766e)) !important;
    background: var(--si-footer-accent, var(--si-accent-color, #0f766e)) !important;
    color: var(--si-footer-accent-contrast, #ffffff) !important;
}

.si-core-site-footer-button-secondary:hover,
.si-core-site-footer-button-secondary:focus-visible,
.si-core-site-footer-language:hover,
.si-core-site-footer-language:focus-visible {
    border-color: var(--si-footer-accent, var(--si-accent-color, #0f766e)) !important;
    background: var(--si-footer-accent-soft, var(--si-accent-soft-color, #e6f4ef)) !important;
    color: var(--si-footer-link-hover, var(--si-link-hover-color, #134e4a)) !important;
}

.si-core-site-footer-link:hover,
.si-core-site-footer-link:focus-visible {
    color: var(--si-footer-link-hover, var(--si-link-hover-color, #134e4a)) !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
}

/* v1.0.3: hide empty brand title cleanly */
.si-core-site-footer-title:empty {
    display: none !important;
}
