/* Four editorial zones. Contact data and photos are managed by Core. */
.cd-contacts-hero { display: grid; gap: var(--cd-space-8); align-items: center; box-shadow: var(--cd-shadow-raised); }
.cd-contacts-hero--photo { grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); }
.cd-contacts-hero-copy { container: contacts-copy / inline-size; display: grid; gap: var(--cd-space-3); min-width: 0; }
.cd-contacts .cd-contacts-headline { color: var(--cd-color-text); font-size: var(--cd-font-xl); font-weight: var(--cd-weight-semibold); line-height: var(--cd-line-height-heading); }
.cd-contacts-address { font-style: normal; font-size: var(--cd-font-xl); line-height: var(--cd-line-height-heading); color: var(--cd-color-text); overflow-wrap: anywhere; }
.cd-contacts-facts { display: grid; gap: var(--cd-space-2); margin-block: var(--cd-space-2); }
.cd-contacts-facts p { display: flex; align-items: center; gap: var(--cd-space-2); }
.cd-contacts-facts svg { width: var(--cd-icon-size); height: var(--cd-icon-size); flex-shrink: 0; }
.cd-contacts-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--cd-space-3); }
.cd-contacts-actions .cd-button--primary, .cd-contacts-actions .cd-button:only-child, .cd-contacts-actions .cd-button:last-child:nth-child(2) { grid-column: 1 / -1; }
.cd-contacts-actions .cd-button { white-space: normal; text-align: center; }
.cd-contacts-phone { font-size: var(--cd-font-sm); }
.cd-contacts-photo { margin: 0; min-width: 0; }
.cd-contacts-visit { box-shadow: var(--cd-shadow-raised-soft); display: grid; gap: var(--cd-space-8); align-items: center; }
.cd-contacts-visit--photo { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); }
.cd-contacts-visit > div { min-width: 0; }
.cd-contacts-visit h2 + p { margin-top: var(--cd-space-3); }
.cd-contacts-services { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--cd-space-6); list-style: none; padding: 0; margin: var(--cd-space-6) 0 0; }
.cd-contacts-visit--photo .cd-contacts-services { grid-template-columns: repeat(2,minmax(0,1fr)); }
.cd-contacts-services li { display: flex; align-items: flex-start; gap: var(--cd-space-3); min-width: 0; }
.cd-contacts-services .cd-content-icon { flex-shrink: 0; display: grid; place-items: center; width: var(--cd-control-size); height: var(--cd-control-size); border-radius: var(--cd-radius-sm); background: var(--cd-surface-raised); box-shadow: var(--cd-shadow-raised-soft); }
.cd-contacts-services .cd-content-icon svg { width: var(--cd-space-6); height: var(--cd-space-6); }
.cd-contacts-services p { margin-top: var(--cd-space-2); }
.cd-contacts-map { box-shadow: var(--cd-shadow-raised-soft); }
.cd-contacts-map-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--cd-space-2); padding: var(--cd-space-2); margin-bottom: var(--cd-space-4); border-radius: var(--cd-radius-md); background: var(--cd-surface-inset); box-shadow: var(--cd-shadow-inset); }
.cd-contacts-map-tabs button { min-width: 0; min-height: var(--cd-control-size); padding: var(--cd-space-2); border: 0; border-radius: calc(var(--cd-radius-md) - var(--cd-space-2)); background: transparent; color: var(--cd-color-text); font: inherit; cursor: pointer; }
.cd-contacts-map-tabs [aria-selected="true"] { background: var(--cd-surface-raised); box-shadow: var(--cd-shadow-raised-soft); font-weight: var(--cd-weight-semibold); }
.cd-contacts-map-viewport { height: clamp(22.5rem, 32vw, 26.25rem); overflow: hidden; border-radius: var(--cd-radius-md); }
.cd-contacts-map-viewport > [role="tabpanel"] { height: 100%; }
.cd-contacts-map iframe { display: block; width: 100%; height: 100%; border: 0; }
#contacts-route-panel { display: grid; grid-template-rows: minmax(0,1fr) auto; }
.cd-contacts-route-host { min-height: 0; }
.cd-contacts-route-fallback { display: grid; place-items: center; min-height: var(--cd-control-size); padding: var(--cd-space-2); text-align: center; }
.cd-contacts-route-fallback a { color: var(--cd-color-text); }
#contacts-route-panel.is-unavailable { grid-template-rows: 1fr; }
#contacts-route-panel.is-unavailable .cd-contacts-route-host { display: none; }
.cd-contacts-map-info { display: flex; align-items: center; justify-content: space-between; gap: var(--cd-space-6); margin-top: var(--cd-space-6); }
.cd-contacts-map-info > div { min-width: 0; }
.cd-contacts-map address + p { margin-top: var(--cd-space-3); }
.cd-contacts-map-facts { display: flex; flex-wrap: wrap; gap: var(--cd-space-2) var(--cd-space-6); margin-top: var(--cd-space-4); }
.cd-contacts-map .cd-button { white-space: normal; text-align: center; }
.cd-contacts-map [hidden], #contacts-route-panel[hidden] { display: none; }
.cd-contacts-social-surface { box-shadow: var(--cd-shadow-raised-soft); }
.cd-contacts-socials { display: flex; flex-wrap: wrap; gap: var(--cd-space-4); list-style: none; padding: 0; margin: var(--cd-space-6) 0 0; }
.cd-contacts-social { min-width: 0; flex: 1 1 40%; }
.cd-contacts-social--youtube { flex-basis: 48%; }
.cd-contacts-social--telegram { flex-basis: 36%; }
.cd-contacts-social--compact { flex-basis: 25%; }
.cd-contacts-social a { display: flex; align-items: center; gap: var(--cd-space-3); min-height: var(--cd-control-size); height: 100%; padding: var(--cd-space-4); color: var(--cd-color-text); text-decoration: none; border-radius: var(--cd-radius-md); background: var(--cd-surface-inset); box-shadow: var(--cd-shadow-inset); transition: background var(--cd-depth-transition), box-shadow var(--cd-depth-transition); }
.cd-contacts-social--lead a { padding: var(--cd-space-6); }
.cd-contacts-social strong { font-size: var(--cd-font-lg); font-weight: var(--cd-weight-semibold); }
.cd-contacts-social small { display: block; margin-top: var(--cd-space-1); font-size: var(--cd-font-sm); color: var(--cd-color-muted); overflow-wrap: anywhere; }
.cd-contacts-social a > span:nth-child(2) { min-width: 0; overflow-wrap: anywhere; }
.cd-contacts-social-icon { display: flex; flex-shrink: 0; color: var(--cd-color-accent); }
.cd-contacts-social-icon svg { width: var(--cd-space-6); height: var(--cd-space-6); }
.cd-contacts-social-arrow { margin-inline-start: auto; flex-shrink: 0; color: var(--cd-color-muted); }
.cd-contacts-social a:is(:hover, :focus-visible) { background: var(--cd-surface-raised); box-shadow: var(--cd-shadow-raised-soft); }
.cd-contacts-social a:active { background: var(--cd-surface-inset); box-shadow: var(--cd-shadow-pressed); }
@container contacts-copy (min-width: 36rem) {
 .cd-contacts-actions:has(> a:nth-child(3)) { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .cd-contacts-actions:has(> a:nth-child(3)) .cd-button--primary { grid-column: auto; }
}
@container contacts-copy (max-width: 20rem) {
 .cd-contacts-actions { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 64rem) {
 .cd-contacts-hero--photo, .cd-contacts-visit--photo { grid-template-columns: minmax(0,1fr); }
 .cd-contacts-map-info { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 40rem) {
 .cd-contacts-services, .cd-contacts-visit--photo .cd-contacts-services { grid-template-columns: minmax(0,1fr); gap: var(--cd-space-4); }
 .cd-contacts-socials { gap: var(--cd-space-3); }
 .cd-contacts-social { flex-basis: 100%; }
 .cd-contacts-social--lead a { padding: var(--cd-space-4); }
 .cd-contacts-map-info { align-items: stretch; }
 .cd-contacts-map-viewport { height: clamp(18.75rem, 80vw, 21.875rem); }

}

@media (prefers-reduced-motion: reduce) { .cd-contacts-social a { transition: none; } }

@media (min-width: 64.001rem) {
 .cd-contacts-social--lead, .cd-contacts-social--medium { flex: 0 1 calc(50% - var(--cd-space-2)); }
 .cd-contacts-social--compact { flex: 0 1 calc((100% - var(--cd-space-8)) / 3); }
 .cd-contacts-social--lead a { min-height: calc(var(--cd-space-12) * 2 + var(--cd-space-4)); }
 .cd-contacts-social--lead strong { font-size: var(--cd-font-xl); }
 .cd-contacts-social--medium a { min-height: calc(var(--cd-space-12) + var(--cd-space-8)); }
}
