        /* --- ГЛАВНАЯ СЕТКА МАКЕТА --- */
        .contact-layout {
            display: grid;
            grid-template-columns: 2fr 1fr; /* Широкая левая и узкая правая колонки */
            gap: var(--space-xl);
            margin: var(--space-lg) 0;
            /* align-items: stretch; -- это поведение по умолчанию, оно и выравнивает высоту в строках */
        }

        /* --- Карточка с информацией (Общая) --- */
        .contact-card {
            background: var(--color-background-card-light);
            border-radius: var(--border-radius-lg);
            padding: var(--space-xl);
            box-shadow: var(--shadow-md);
            display: flex; /* Для внутреннего выравнивания контента, если нужно */
            flex-direction: column;
        }
        .contact-card h2 {
            font-size: 1.6rem;
            font-weight: var(--font-weight-bold);
            color: var(--color-text-main);
            margin: 0 0 var(--space-lg) 0;
            border-bottom: 2px solid var(--color-border);
            padding-bottom: var(--space-md);
        }

        /* --- Внутренняя сетка для контактов офиса и поддержки */
        .contact-inner-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: var(--space-xl);
            flex-grow: 1; /* Позволяет блоку занять все доступное место в карточке */
        }

        .contact-block h3 {
            font-size: 1.2rem;
            font-weight: var(--font-weight-bold);
            margin: 0 0 var(--space-sm) 0;
        }

        .contact-item {
            display: flex;
            align-items: flex-start;
            gap: var(--space-md);
            margin-bottom: var(--space-md);
            color: var(--color-text-secondary);
        }
        .contact-item i { font-size: 1.2rem; color: var(--color-primary); margin-top: 5px; width: 20px; text-align: center; }
        .contact-item a { color: var(--color-primary-dark); text-decoration: none; font-weight: var(--font-weight-semibold); }
        .contact-item a:hover { text-decoration: underline; }

        /* --- Карта --- */
       .contact-layout .map-container {
            width: 100%;
            height: 100%; /* Карта растянется на всю высоту ячейки грида */
            min-height: 250px; /* Минимальная высота на случай если контента мало */
            border-radius: var(--border-radius-lg);
            overflow: hidden;
            box-shadow: var(--shadow-md);
        }
        .contact-layout   .map-container iframe { width: 100%; height: 100%; border: 0; display: block;}

        /* --- Реквизиты --- */
        .requisites-card {
            justify-content: space-between; /* Кнопка прижмется к низу */
        }
        .requisites-card dt { font-weight: var(--font-weight-bold); color: var(--color-text-main);  }
        .requisites-card dd { margin-left: 0; color: var(--color-text-secondary); margin-bottom: var(--space-md);}
        #full-requisites { transition: opacity 0.5s ease; }
        .btn-link {
            background: none; border: none; color: var(--color-primary); font-weight: var(--font-weight-bold);
            cursor: pointer; padding: 0; margin-top: var(--space-md); text-align: left; font-size: 1rem; display: inline-block;
        }
        .btn-link:hover { text-decoration: underline; }

        /* --- Адаптивность --- */
        @media (max-width: 992px) {
            .contact-layout { 
                grid-template-columns: 1fr; /* Все блоки в одну колонку на мобильных */
            }
        }
        @media (max-width: 576px) {
            .contact-inner-grid { grid-template-columns: 1fr; }
        }