/* Main stylesheet entry point.
   Several standalone pages load this file directly, so keep the shared
   design-system imports here as well as the small final overrides below. */

@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");
@import url("base.css");
@import url("components.css");
@import url("pages.css");
@import url("dashboard.css");
@import url("loan-page.css");
@import url("about-page.css");
@import url("contact-page.css");
@import url("site-polish.css");
@import url("editorial.css");
@import url("testimonials.css");
@import url("responsive.css");
@import url("google-translate.css");
@import url("brand.css");

html {
    box-sizing: border-box;
}

*,
*::before,
*::after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Apply the same typeface to every page and component, including legacy UI. */
*,
*::before,
*::after {
    font-family: var(--site-font-family) !important;
}

/* Keep legacy dashboard tables readable when this stylesheet is used there too. */
.admin-table {
    overflow-x: auto;
    padding: 1.25rem;
    color: var(--text-dark);
    background: var(--card-bg);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

table th {
    color: var(--text-dark);
    background: var(--surface-strong);
}

table tbody tr:hover td {
    background: #f7fbfd;
}

#cookie-banner {
    position: fixed;
    z-index: 9999;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
}

/* The mobile page navigator replaces the former floating sitemap widget. */
#global-sitemap {
    display: none !important;
}

.site-header-placeholder {
    width: 100%;
}

.site-header-placeholder > div {
    padding: 1.5rem 0;
    color: #6b7280;
    text-align: center;
}

.site-header-error {
    color: #9b4d4d !important;
}

.cookie-banner-inner {
    display: flex;
    align-items: center;
    gap: 0.8rem 1rem;
    width: min(1050px, 100%);
    margin: 0 auto;
    padding: 0.9rem 1rem 0.9rem 1.2rem;
    color: #e8f3f6;
    background: rgba(7, 27, 45, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(5, 24, 41, 0.25);
    backdrop-filter: blur(14px);
}

.cookie-banner-inner p {
    margin: 0;
    font-size: 0.84rem;
}

.cookie-more {
    color: var(--accent-cyan);
    font-size: 0.82rem;
    white-space: nowrap;
}

.cookie-actions {
    display: flex;
    gap: 0.55rem;
    margin-left: auto;
}

.cookie-actions button {
    min-height: 36px;
    padding: 0.5rem 0.9rem;
    border-radius: 8px;
    font-size: 0.8rem;
    font-weight: 750;
    cursor: pointer;
}

.cookie-accept {
    color: #062b3b;
    background: var(--accent-cyan);
    border: 1px solid var(--accent-cyan);
}

.cookie-decline {
    color: #c8dce3;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.24);
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

@media (max-width: 650px) {
    #cookie-banner {
        right: 0.65rem;
        bottom: 0.65rem;
        left: 0.65rem;
    }

    .cookie-banner-inner {
        flex-wrap: wrap;
        padding: 0.9rem;
    }

    .cookie-banner-inner p {
        flex: 1 1 100%;
    }

    .cookie-actions {
        width: 100%;
        margin-left: 0;
    }

    .cookie-actions button {
        flex: 1;
    }
}
