/**
 * Единый бренд-слой GDI: index / rent / search / profile / ad-details / contacts / requests.
 * Поднимает насыщенность (меньше «бледной лаванды»), выравнивает primary.
 */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

:root {
    --gdi-brand-primary: #5b21b6;
    --gdi-brand-primary-dark: #4c1d95;
    --gdi-brand-accent: #7c3aed;
    --gdi-brand-sand: #a78bfa;
    --gdi-brand-ink: #1a0f2e;
    --gdi-brand-muted: #5c5470;
    --gdi-brand-surface: #ffffff;
    --gdi-brand-canvas: #ebe4ff;
    --gdi-brand-canvas-deep: #ddd6fe;
    --gdi-brand-hero: linear-gradient(135deg, #f3e8ff 0%, #ede9fe 42%, #ddd6fe 100%);
    --gdi-brand-btn: linear-gradient(135deg, #7c3aed 0%, #5b21b6 100%);
    --gdi-brand-btn-hover: linear-gradient(135deg, #6d28d9 0%, #4c1d95 100%);
    --gdi-brand-shadow: 0 12px 32px rgba(91, 33, 182, 0.16);
    --gdi-brand-shadow-soft: 0 8px 22px rgba(91, 33, 182, 0.12);
    --gdi-brand-border: rgba(91, 33, 182, 0.18);
    --gdi-brand-radius: 16px;

    /* Перекрываем разрозненные токены страниц */
    --gse-bg: var(--gdi-brand-canvas);
    --gse-surface: var(--gdi-brand-surface);
    --gse-hero: var(--gdi-brand-hero);
    --gse-primary: var(--gdi-brand-primary);
    --gse-primary-dark: var(--gdi-brand-primary-dark);
    --gse-text: var(--gdi-brand-ink);
    --gse-muted: var(--gdi-brand-muted);
    --gse-border: #d8d0ef;
    --gse-shadow: var(--gdi-brand-shadow-soft);

    --gdi-dex-primary: var(--gdi-brand-primary);
    --gdi-dex-primary-dark: var(--gdi-brand-primary-dark);
    --gdi-dex-primary-soft: #efe8ff;
    --gdi-dex-bg: var(--gdi-brand-canvas);
    --gdi-dex-surface: var(--gdi-brand-surface);
    --gdi-dex-border: #d8d0ef;
    --gdi-dex-border-soft: #e4ddf5;
    --gdi-dex-text: var(--gdi-brand-ink);
    --gdi-dex-muted: var(--gdi-brand-muted);
    --gdi-dex-shadow: var(--gdi-brand-shadow-soft);

    --gdi-kon-primary: var(--gdi-brand-primary);
    --gdi-kon-primary-dark: var(--gdi-brand-primary-dark);
    --gdi-kon-accent: var(--gdi-brand-accent);
    --gdi-kon-bg: var(--gdi-brand-canvas);
    --gdi-kon-surface: var(--gdi-brand-surface);
    --gdi-kon-text: var(--gdi-brand-ink);
    --gdi-kon-muted: var(--gdi-brand-muted);
    --gdi-kon-border: var(--gdi-brand-border);
    --gdi-kon-shadow: var(--gdi-brand-shadow-soft);

    --lux-bg-canvas: var(--gdi-brand-canvas);
    --lux-accent: var(--gdi-brand-primary);
    --lux-accent-bright: var(--gdi-brand-accent);
    --lux-text-primary: var(--gdi-brand-ink);
}

/* —— Общий холст —— */
body.gdi-search-exact-v2,
body.gdi-detail-page,
body.gdi-kontakty-page,
.gdi-kontakty-exact {
    background: var(--gdi-brand-canvas) !important;
    color: var(--gdi-brand-ink);
    font-family: 'Montserrat', 'Segoe UI', system-ui, sans-serif;
}

/* —— Каталоги (rent / search / requests) —— */
.gse-page__hero {
    background: var(--gdi-brand-hero) !important;
    border-color: rgba(91, 33, 182, 0.22) !important;
    box-shadow: var(--gdi-brand-shadow-soft) !important;
}

.gse-page__hero--banner {
    background-color: #ddd6fe !important;
    background-image:
        linear-gradient(
            105deg,
            rgba(255, 255, 255, 0.88) 0%,
            rgba(237, 233, 254, 0.72) 36%,
            rgba(221, 214, 254, 0.18) 62%,
            rgba(221, 214, 254, 0) 82%
        ),
        var(--gse-hero-banner) !important;
}

.gse-page__title {
    color: var(--gdi-brand-ink);
}

.gse-btn--primary,
.gse-page .btn-primary {
    background: var(--gdi-brand-btn) !important;
    border: none !important;
    box-shadow: 0 10px 22px rgba(91, 33, 182, 0.28) !important;
}

.gse-btn--primary:hover,
.gse-page .btn-primary:hover {
    background: var(--gdi-brand-btn-hover) !important;
}

.gse-filters,
.gse-topbar,
.gse-results .gse-card,
.grad-rent-lux .lux-card {
    border-color: rgba(91, 33, 182, 0.16) !important;
    box-shadow: var(--gdi-brand-shadow-soft);
}

/* Заявки — живее карточки */
.gse-page--requests .gse-page__hero {
    border-left: 5px solid var(--gdi-brand-accent);
}

.gse-card--request {
    border-left: 4px solid var(--gdi-brand-accent) !important;
    background:
        linear-gradient(180deg, #ffffff 0%, #faf5ff 100%);
}

.gse-card--request .gse-card__media {
    background:
        radial-gradient(circle at 18% 18%, rgba(167, 139, 250, 0.45), transparent 48%),
        radial-gradient(circle at 85% 70%, rgba(124, 58, 237, 0.18), transparent 40%),
        linear-gradient(145deg, #ddd6fe 0%, #c4b5fd 100%) !important;
}

.gse-page--requests .gse-card__price,
.gse-page--requests .lux-price {
    color: var(--gdi-brand-primary) !important;
    font-weight: 800;
}

.gse-page--requests .gse-card__status--success,
.gse-card__status--success {
    background: linear-gradient(135deg, #d1fae5, #a7f3d0) !important;
    color: #065f46 !important;
}

/* —— ad-details / request-details —— */
body.gdi-detail-page .gdi-dex-block,
body.gdi-detail-page .card.gdi-dex-block,
body.gdi-detail-page .gdi-dex-price-card,
body.gdi-detail-page .gdi-dex-trust,
body.gdi-detail-page .gdi-dex-specs {
    border: 1px solid rgba(91, 33, 182, 0.14) !important;
    box-shadow: var(--gdi-brand-shadow-soft) !important;
    background: #fff;
}

body.gdi-detail-page .gdi-dex-price-card {
    background:
        linear-gradient(165deg, #faf5ff 0%, #ffffff 42%, #f5f3ff 100%) !important;
    border-top: 4px solid var(--gdi-brand-accent) !important;
}

body.gdi-detail-page .gdi-dex-price,
body.gdi-detail-page .gdi-req-price-inline {
    color: var(--gdi-brand-primary) !important;
}

body.gdi-detail-page .gdi-dex-cta-stack .btn-primary {
    background: var(--gdi-brand-btn) !important;
    border: none !important;
    box-shadow: 0 10px 22px rgba(91, 33, 182, 0.3) !important;
}

body.gdi-detail-page .gdi-dex-hero h1 {
    color: var(--gdi-brand-ink);
}

body.gdi-detail-page .gdi-dex-tag {
    background: #ede9fe !important;
    color: var(--gdi-brand-primary-dark) !important;
    border: 1px solid rgba(91, 33, 182, 0.14);
    font-weight: 700;
}

body.gdi-detail-page .owner-contact-panel__head,
.gdi-detail-exact .owner-contact-panel__head {
    background: linear-gradient(135deg, #2e1065 0%, #5b21b6 55%, #7c3aed 100%) !important;
}

body.gdi-request-detail .gdi-req-tag--live {
    background: linear-gradient(135deg, #d1fae5, #a7f3d0) !important;
    color: #065f46 !important;
}

body.gdi-request-detail .gdi-dex-gallery .main-image {
    background:
        radial-gradient(circle at 30% 20%, rgba(167, 139, 250, 0.35), transparent 50%),
        linear-gradient(145deg, #ddd6fe 0%, #c4b5fd 55%, #a78bfa 100%) !important;
}

/* —— Контакты → язык gse —— */
.gdi-kontakty-exact {
    padding: 1rem 0 2.5rem;
}

.gdi-kontakty-exact .container {
    max-width: 1240px;
}

.gdi-kontakty-exact__crumbs {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-bottom: 0.85rem !important;
    border-radius: 0 !important;
    font-size: 0.82rem !important;
    font-weight: 600;
    gap: 0.4rem;
}

.gdi-kontakty-exact__crumbs a {
    color: var(--gdi-brand-muted) !important;
}

.gdi-kontakty-exact__crumbs a:hover {
    color: var(--gdi-brand-primary) !important;
}

.gdi-kontakty-exact__crumbs span {
    color: #6d6783 !important;
}

.gdi-kontakty-exact__card {
    border: 1px solid rgba(91, 33, 182, 0.16);
    box-shadow: var(--gdi-brand-shadow-soft) !important;
}

.gdi-kontakty-exact__side .gdi-kontakty-exact__card {
    background:
        linear-gradient(180deg, #ffffff 0%, #faf5ff 100%);
}

.gdi-kontakty-exact__nav-link.is-active {
    background: var(--gdi-brand-btn) !important;
}

.gdi-kontakty-exact__side-highlight {
    background: linear-gradient(145deg, #ddd6fe, #c4b5fd) !important;
    border-color: rgba(91, 33, 182, 0.25) !important;
}

.gdi-kontakty-exact__side-highlight-pad p {
    color: var(--gdi-brand-primary-dark) !important;
}

.gdi-kontakty-exact__hero {
    border-radius: 24px !important;
    box-shadow: var(--gdi-brand-shadow) !important;
    border: 1px solid rgba(91, 33, 182, 0.25);
    background-image:
        linear-gradient(100deg, rgba(30, 10, 70, 0.94) 0%, rgba(76, 29, 149, 0.78) 38%, rgba(124, 58, 237, 0.35) 68%, rgba(30, 10, 70, 0.15) 100%),
        var(--gdi-kon-hero-banner, url('/images/hero-kontakty-bg.png')) !important;
}

.gdi-kontakty-exact__hero-pill {
    background: rgba(255, 255, 255, 0.16) !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
    backdrop-filter: blur(6px);
}

.gdi-kontakty-exact__hero-pill:hover {
    background: rgba(255, 255, 255, 0.28) !important;
    color: #fff;
}

.gdi-kontakty-exact__channel {
    background:
        linear-gradient(165deg, #ffffff 0%, #faf5ff 100%);
    border: 1px solid rgba(91, 33, 182, 0.14);
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.gdi-kontakty-exact__channel:hover {
    transform: translateY(-2px);
    border-color: rgba(124, 58, 237, 0.35);
    box-shadow: 0 14px 28px rgba(91, 33, 182, 0.16);
}

.gdi-kontakty-exact__channel-icon {
    background: var(--gdi-brand-btn) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(91, 33, 182, 0.28);
}

.gdi-kontakty-exact__channel-main {
    color: var(--gdi-brand-primary) !important;
}

.gdi-kontakty-exact__submit {
    background: var(--gdi-brand-btn) !important;
    border: none !important;
    box-shadow: 0 12px 24px rgba(91, 33, 182, 0.3) !important;
    border-radius: 12px !important;
    font-weight: 800 !important;
}

.gdi-kontakty-exact__submit:hover {
    background: var(--gdi-brand-btn-hover) !important;
}

.gdi-kontakty-exact__field input:focus,
.gdi-kontakty-exact__field select:focus,
.gdi-kontakty-exact__field textarea:focus {
    border-color: var(--gdi-brand-accent) !important;
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.18) !important;
}

.gdi-kontakty-exact__company-mini {
    background: #efe8ff !important;
    border-color: rgba(91, 33, 182, 0.18) !important;
}

/* Профиль — тот же primary / шрифт */
body.up-photo-body {
    background: var(--gdi-brand-canvas) !important;
}

body.up-photo-body,
.up-photo {
    --up-bg: var(--gdi-brand-canvas);
    --up-primary: var(--gdi-brand-primary);
    --up-primary-hover: var(--gdi-brand-primary-dark);
    --up-primary-soft: #efe8ff;
    --up-accent: var(--gdi-brand-accent);
    --up-text: var(--gdi-brand-ink);
    --up-muted: var(--gdi-brand-muted);
    --up-border: var(--gdi-brand-border);
    --up-shadow: var(--gdi-brand-shadow-soft);
    font-family: 'Montserrat', 'Segoe UI', system-ui, sans-serif !important;
}

.up-photo__card {
    border: 1px solid rgba(91, 33, 182, 0.14) !important;
    box-shadow: var(--gdi-brand-shadow-soft) !important;
}

/* Главная / content — чуть насыщеннее холст */
body.gdi-content-page,
body.gdi-home,
.gdi-home {
    --gdi-c-bg: var(--gdi-brand-canvas);
}

@media (max-width: 991.98px) {
    .gdi-kontakty-exact__channels {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 575.98px) {
    .gdi-kontakty-exact__channels {
        grid-template-columns: 1fr !important;
    }
}
