/* Contacts: Figma 2430:7739, 2440:11345, 2440:11364.
 * Header, controls and buttons retain their shared component styles. */
@font-face { font-family: 'ES Contacts Inter'; src: url('contacts-inter.ttf') format('truetype'); font-style: normal; font-weight: 100 900; font-display: swap; }
.contacts-page > .section > .section-wrapper--content { padding-top: var(--es-gap-btwn-headers); padding-bottom: var(--es-gap-btwn-blocks); }
.contacts-page .layout { display: block; }
.contacts-page .type-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 20px; row-gap: calc(2 * var(--es-gap-btwn-blocks)); align-items: start; }
.contacts-page .type-grid > * { min-width: 0; }
.contacts-page .type-grid > .contacts { display: flex; flex-direction: column; align-self: center; align-items: stretch; gap: 40px; }
.contacts-page .type-grid .contacts > .contact-item { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
.contacts-page .type-grid .contacts .contact-item p { margin: 0; color: rgb(33 33 33 / .4); font: 600 14px/normal var(--es-headers-font); letter-spacing: 0; text-transform: uppercase; }
.contacts-page .type-grid .contacts .contact-item h2 { margin: 0; color: var(--es-text-primary); font: 600 28px/1.2 var(--es-headers-font); letter-spacing: 0; overflow-wrap: anywhere; }
.contacts-page .contacts .contact-item h2 a { color: inherit; text-decoration: none; }
.contacts-page .contacts .contact-item h2 a:focus-visible { outline: 2px solid var(--es-surface-accent); outline-offset: 4px; }
.contacts-page .type-grid .contacts .contact-item > .d-flex:not(.buttons) { gap: 8px; min-height: 20px; align-items: center; }
.contacts-page .contacts .contact-item .es-contact-pin { display: block; flex: 0 0 16px; width: 16px; height: 16px; margin-inline: 2px; }
.contacts-page .type-grid .contacts > .contact-item:last-child { gap: 16px; }
.contacts-page .contacts .buttons { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px; }
.contacts-page .contacts .buttons > .es-button { --es-button-height: 44px; --es-button-pad-y: 12px; --es-button-pad-x: 24px; gap: 10px; width: auto; font-size: 14px; line-height: 20px; }
.contacts-page .contacts .buttons .es-contact-messenger-icon { display: block; flex: 0 0 16px; width: 16px; height: 16px; margin-inline: 2px; }
.contacts-page .type-grid > div:has(> iframe) { height: 560px; overflow: hidden; border-radius: 16px; background: #e3e3e3; }
.contacts-page .type-grid > div > iframe { display: block; width: 100%; height: 560px !important; aspect-ratio: auto !important; border: 0; }
.contacts-page .type-grid > .payments-info-panel { display: flex; flex-direction: column; align-items: stretch; gap: 0; width: auto; height: fit-content; margin: 0 64px 0 0; padding: 32px; border: 0; border-radius: 12px; background: var(--es-surface-secondary,#f6f6f5); }
.contacts-page .payments-info-panel > h2 { margin: 0 0 32px; color: var(--es-text-primary); font: 600 24px/1.2 var(--es-headers-font); letter-spacing: 0; }
.contacts-page .payments-info-panel > .es-company-value { margin-bottom: 12px; }
.contacts-page .type-grid .payments-info-panel > .d-flex-col { display: flex; flex-direction: column; align-items: stretch; gap: 4px; margin: 0 0 12px; }
.contacts-page .type-grid .payments-info-panel > .d-flex-col > p:not(.es-company-value) { margin: 0; color: #000; opacity: .6; font: 400 13px/16px 'ES Contacts Inter',Arial,sans-serif; }
.contacts-page .type-grid .payments-info-panel .es-company-value { color: var(--es-text-primary); opacity: 1; font: 400 16px/1.4 var(--es-regular-font); overflow-wrap: anywhere; }
.contacts-page .payments-info-panel > .d-flex-col:last-of-type { max-width: 473px; }
.contacts-page .type-grid .payments-info-panel .download-button { display: flex; align-items: center; gap: 8px; margin: 0; padding-top: 20px; color: var(--es-text-primary); text-decoration: none; }
.contacts-page .payments-info-panel .download-button > .svg { display: none !important; }
.contacts-page .type-grid .payments-info-panel .download-button > img { display: block; flex: 0 0 32px; width: 32px; height: 32px; object-fit: contain; }
.contacts-page .type-grid .payments-info-panel .download-button p { min-width: 0; margin: 0; color: inherit; opacity: 1; font: 400 16px/1.4 var(--es-regular-font); }
.contacts-page .type-grid > .form { display: flex; flex-direction: column; align-items: stretch; gap: 12px; margin: 0; padding: 0; }
.contacts-page .form > h2 { margin: 0 0 20px; color: var(--es-text-primary); font: 600 32px/normal var(--es-headers-font); letter-spacing: 0; }
.contacts-page .type-grid .form > .d-flex:not(.form-consent) { display: flex; flex-direction: row; gap: 12px; align-items: flex-start; }
.contacts-page .type-grid .form .d-flex > .d-flex-col { display: flex; flex: 1 1 0; flex-direction: column; gap: 12px; width: 0; min-width: 0; }
.contacts-page .type-grid .form > .d-flex-col { display: flex; flex-direction: column; gap: 12px; height: 138px; }
.contacts-page .form .es-control-label { margin: 0; color: rgb(33 33 33 / .35); font: 400 13px/normal var(--es-regular-font); }
.contacts-page .form input.es-control { --es-control-height-shared: 64px; --es-control-padding-shared: 24px; width: 100%; min-height: 64px; height: 64px !important; }
.contacts-page .type-grid .form > .d-flex-col > textarea.es-control { flex: 1 1 0; width: 100%; min-height: 107px !important; height: 107px !important; margin: 0; padding: 21px 24px !important; resize: vertical; }
.contacts-page .type-grid .form .form-consent { gap: 16px; margin: 0; }
.contacts-page.typed-page .form .check-field + label, .contacts-page.typed-page .form .check-field + label a { margin: 0; opacity: 1; color: var(--es-text-primary); font: 400 16px/1.4 var(--es-regular-font); font-size: 16px !important; }
.contacts-page .form .es-checkbox:checked { background-image: url('contacts-checkbox.svg') !important; }
.contacts-page .form > .es-button { --es-button-height: 62px; --es-button-pad-y: 22px; --es-button-pad-x: 40px; width: 100%; margin-top: 8px; font-size: 14px; }
@media (min-width: 993px) and (max-width: 1500px) {
  .contacts-page .type-grid > .payments-info-panel { margin-right: 24px; }
}
@media (max-width: 992px) {
  .contacts-page .type-grid { grid-template-columns: minmax(0,1fr); row-gap: 40px; }
  .contacts-page .type-grid > .contacts { gap: 32px; }
  .contacts-page .type-grid .contacts .contact-item h2 { font-size: 24px; }
  .contacts-page .type-grid > div:has(> iframe), .contacts-page .type-grid > div > iframe { height: 360px !important; }
  .contacts-page .type-grid > .payments-info-panel { margin: calc(var(--es-gap-btwn-blocks) - 40px) 0 0; padding: 24px; }
  .contacts-page .payments-info-panel > h2 { font-size: 22px; }
  .contacts-page .form > h2 { font-size: 28px; }
  .contacts-page.typed-page .form .check-field + label, .contacts-page.typed-page .form .check-field + label a { font-size: 13px !important; }
}
@media (max-width: 479px) {
  .contacts-page .type-grid .form > .d-flex:not(.form-consent) { flex-direction: column; }
  .contacts-page .type-grid .form .d-flex > .d-flex-col { flex-basis: auto; width: 100%; }
  .contacts-page .form > .es-button { --es-button-pad-x: 20px; }
}
