.stan-contact-groups { display: grid; gap: 20px; margin-bottom: 16px; }
.stan-contact-groups--split { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.stan-contact-group { min-width: 0; }
.stan-contact-group .stan-contact-label { margin: 0 0 12px; font-size: 18px; line-height: 1.3; font-weight: 500; }
.stan-contact-phones,
.stan-contact-messengers,
.stan-contact-utilities { display: grid; gap: 12px 20px; margin-bottom: 12px; }
.stan-contact-phones,
.stan-contact-utilities { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.stan-contact-phones { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.stan-contact-messengers { grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr)); }
.stan-contact-utilities:empty { display: none; }
.stan-contact-group > :last-child { margin-bottom: 0; }
.stan-contact-action,
.stan-contact-action:visited {
  box-sizing: border-box; display: flex; align-items: center; justify-content: center;
  gap: 9px; min-width: 0; width: 100%; min-height: 54px; padding: 10px;
  border: 0; border-radius: 3px; box-shadow: 0 4px 4px rgba(0,0,0,.1);
  color: #fff; font-family: Onest, Arial, sans-serif; font-size: 18px; line-height: 1.3;
  text-align: center; text-decoration: none !important;
}
.stan-contact-action span { min-width: 0; overflow-wrap: anywhere; }
.stan-contact-action img { flex: 0 0 auto; object-fit: contain; }
.stan-contact-action:hover { color: #fff; filter: brightness(.95); }
.stan-contact-action:focus-visible { outline: 3px solid #1976d2; outline-offset: 3px; }
.stan-contact-action--phone,
.stan-contact-action--phone:visited,
.stan-contact-action--phone:hover { background: #f7f7f7; color: #202a45; font-weight: 700; }
.stan-contact-action--phone span { white-space: nowrap; }
.stan-contact-action--whatsapp { background: #40c351; }
.stan-contact-action--whatsapp img { filter: brightness(0) invert(1); }
.stan-contact-action--telegram { background: #229ed9; }
.stan-contact-action--max { background: #635bff; }
.stan-contact-action--email { background: #ff4444; }
.stan-contact-action--route { background: #c8a33a; }
.stan-contact-route { margin-bottom: 16px; }
.stan-contact-hours { margin: 24px 0 20px; }
.stan-contact-hours h3 { margin: 0 0 10px; font-size: 16px; font-weight: 600; }
.stan-contact-hours__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.stan-contact-hours__grid > div { display: flex; flex-direction: column; gap: 4px; padding: 12px 16px; background: #ecfaed; color: #071426; }
.stan-contact-hours__grid b, .stan-contact-hours__grid span { font-size: 16px; line-height: 1.4; }
.stan-persona-contact-layout { row-gap: 20px; }
@media (min-width: 992px) {
  .stan-persona-contact-layout > .col-lg-6:last-child { display: flex; }
  .stan-persona-contact-layout .maps { width: 100%; height: auto; min-height: 350px; align-self: stretch; margin-bottom: 0 !important; }
}
#myModal.modal { position: fixed !important; inset: 0 !important; overflow-y: auto !important; z-index: 2147483000 !important; }
#control.modal { z-index: 2147483001 !important; }
#myModal .modal-dialog { top: 0; width: 600px; max-width: calc(100vw - 48px); margin: 30px auto !important; padding: 0 !important; }
#myModal .modal-content { max-height: calc(100vh - 60px); overflow-y: auto; padding: 0; background: #fff; border: 0; border-radius: 0; box-shadow: 0 18px 48px rgba(20,33,61,.2); }
#myModal .modal-header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; min-height: 64px; padding: 12px 74px 10px 20px; background: #fff; border: 0; }
#myModal .modal-header::before, #myModal .modal-header::after { display: none; }
#myModal .contact-modal-title { margin: 0; color: #071426; font-size: 32px; line-height: 1.15; font-weight: 700; }
#myModal .modal-header .close { position: absolute; top: 12px; right: 20px; width: 40px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: #f4f7fb; opacity: 1; }
#myModal .close span { display: none; }
#myModal .close::before, #myModal .close::after { content: ''; position: absolute; top: 19px; left: 9px; width: 22px; height: 2px; background: #202a45; transform: rotate(45deg); }
#myModal .close::after { transform: rotate(-45deg); }
#myModal .close:hover { background: #eaf0f8; }
#myModal .close:focus-visible { outline: 3px solid #1976d2; outline-offset: 2px; }
#myModal .modal-body { padding: 14px 20px 20px; }
#myModal .contact-modal-office { margin-top: 26px; }
#myModal .contact-modal-office h3 { margin: 0 0 10px; font-size: 18px; font-weight: 600; }
#myModal .contact-modal-office p { margin: 0 0 12px; }
#myModal .contact-modal-parking { display: flex; gap: 6px; align-items: center; margin-top: 10px; color: #778395; font-size: 14px; }
#myModal .contact-modal-parking img { width: 16px; height: 16px; }
#myModal .map_contact { width: 100%; height: 300px; margin: 0; }
@media (max-width: 639px) {
  #myModal .modal-dialog { width: 100%; max-width: 100%; margin: 0 !important; }
  #myModal .modal-content { min-height: 100vh; max-height: 100vh; max-height: 100dvh; }
  #myModal .contact-modal-title { font-size: 27px; }
  #myModal .modal-header { padding-left: 16px; }
  #myModal .modal-body { padding: 14px 16px 20px; }
  .stan-contact-phones, .stan-contact-utilities { gap: 12px; }
  .stan-contact-action { font-size: 16px; }
  .stan-contact-hours__grid { gap: 12px; }
  .stan-contact-hours__grid > div { padding: 10px; }
}
