/* Contact page only: shared navigation, consent and Footer keep their styles. */
.page-contacts .contacts-heading { padding-block: 28px 32px; }
.contacts-heading p { max-width: 65ch; margin-top: var(--space-2); color: var(--color-text-secondary); }
.contacts-section { margin-block: var(--space-5) 0; }
.contacts-section h2 { font-size: var(--font-h2-compact); line-height: 1.2; }
.contacts-card-grid, .contacts-help-grid { display: grid;   margin-top: 24px; }
.contact-card, .contacts-help-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: var(--card-padding); border: 1px solid var(--color-border); border-radius: var(--radius-button); background: var(--color-card); transition: border-color 180ms ease, background-color 180ms ease; }
.contact-card-phone { background: rgba(37, 135, 58, .05); }
.contact-card:hover, .contacts-help-card:hover { border-color: var(--color-primary); background: rgba(37, 135, 58, .04); }
.contact-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: var(--space-3); border-radius: var(--radius-info); background: rgba(37, 135, 58, .07); color: var(--color-primary); }
.contact-icon .icon, .contact-icon img { width: 28px; height: 28px; }
.contact-card h3 { font-size: var(--font-card-title); line-height: 1.3; }
.contact-card p { margin-top: var(--space-2); max-width: 34ch; color: var(--color-text-secondary); line-height: 1.6; text-wrap: pretty; }
.contact-value { display: block; margin-top: var(--space-2); font-size: clamp(20px, 5.4vw, 26px); font-weight: 600; line-height: 1.3; color: var(--color-dark-green); white-space: nowrap; }
.contacts-arrow { margin-top: auto; padding-top: 20px; width: 24px; height: 44px; color: var(--color-primary); transition: transform 180ms ease; }
.contact-card:hover .contacts-arrow, .contacts-help-card:hover .contacts-arrow { transform: translateX(3px); }
.contacts-checkin { display: flex; align-items: flex-start; gap: 12px; margin-top: var(--space-3); padding: 18px 20px; border: 1px solid var(--color-border); border-radius: var(--radius-info); background: rgba(37, 135, 58, .04); }
.contacts-checkin .icon { width: 20px; height: 20px; margin-top: 2px; color: var(--color-primary); }
.contacts-checkin p { font-size: 14px; line-height: 1.6; color: var(--color-text-secondary); text-wrap: pretty; }
.contacts-section-description { margin-top: var(--space-2); color: var(--color-text-secondary); }
.contacts-help-card h3 { font-size: 20px; line-height: 1.3; }
.contacts-help-card p { margin-top: var(--space-2); color: var(--color-text-secondary); font-size: 15px; line-height: 1.6; }
.contacts-requisites { margin-bottom: 40px; }
.contacts-requisites-card { max-width: none; margin-top: 24px; padding: var(--card-padding); border: 1px solid var(--color-border); border-radius: var(--radius-info); background: var(--color-background); }
.contacts-entity { font-size: 18px; font-weight: 600; }
.contacts-requisites dl { display: grid; gap: 12px; margin: 20px 0 0; }
.contacts-requisites dl > div { display: grid; gap: 4px; min-width: 0; }
.contacts-requisites dt { font-size: 14px; color: var(--color-text-secondary); }
.contacts-requisites dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.contacts-requisites dd a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; color: var(--color-dark-green); text-decoration: underline; }
@media (min-width: 48rem) {
  .page-contacts .contacts-heading { padding-block: 32px 36px; }
  .contacts-heading h1 { font-size: var(--font-compact-h1); }
  .contacts-section { margin-top: 48px; }

  .contact-card-phone { grid-column: 1 / -1; }
  .contacts-requisites dl > div { grid-template-columns: 100px minmax(0, 1fr); align-items: baseline; gap: 24px; }
  .contacts-requisites-card { padding: 28px 32px; }
  .contacts-requisites { margin-bottom: 48px; }
}
@media (min-width: 64rem) {

  .contact-card-phone { grid-column: auto; }

  .contact-card { padding: var(--card-padding); }
}
@media (prefers-reduced-motion: reduce) {
  .contact-card, .contacts-help-card, .contacts-arrow { transition: none; }
}
