.contact-save {
  container-type: inline-size;
  padding: clamp(.8rem, 2vw, 1.15rem);
  border: 1px solid var(--line, #ded9ce);
  border-radius: var(--control-radius);
  background: linear-gradient(130deg, #fffdf8, #f1e9db);
  color: var(--ink);
}
.contact-save-layout {
  display: grid;
  align-items: center;
  justify-items: center;
  gap: 1rem;
  text-align: center;
}
.contact-save .contact-save-title { margin: 0; font-size: clamp(1.15rem, 1.8vw, 1.4rem); font-weight: 650; line-height: 1.25; }
.contact-save p { margin: .4rem 0 0; color: #4f5759; font-size: .875rem; line-height: 1.5; }
.contact-save-copy .button.consultation-cta { gap: .65rem; margin-top: .85rem; }
.contact-save-qr { height: auto; background: #fff; }
@container (min-width: 410px) {
  .contact-save-layout {
    grid-template-columns: minmax(0, 1fr) min(48%, 244px);
    justify-items: start;
    text-align: start;
  }
  .contact-save-qr { justify-self: end; }
}
.contact-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
:is(.button, .enquiry-channel).contact-action {
  position: relative;
  display: inline-flex;
  align-items: center;
  border: 1px solid;
  border-radius: var(--control-radius);
  text-decoration: none;
  cursor: pointer;
  isolation: isolate;
  justify-content: center;
  gap: 10px;
  min-height: 58px;
  padding: 8px 12px;
  border-color: rgb(228 188 120 / .48);
  background: linear-gradient(110deg, var(--channel-light), var(--channel-dark));
  color: var(--ivory);
  box-shadow: inset 0 1px rgb(255 255 255 / .09), 0 5px 14px rgb(7 15 23 / .16);
  font: 600 14px/1.3 Inter, sans-serif;
  text-align: center;
}
.contact-primary {
  --channel-light: #147050;
  --channel-dark: #114c38;
}
.contact-telegram {
  --channel-light: #176697;
  --channel-dark: #11496f;
}
:is(.button, .enquiry-channel).contact-action:is(:hover, :focus-visible) { border-color: var(--gold); }
.contact-action:focus-visible { outline-color: var(--bronze); }
.contact-button-icon, .consultation-cta-icon {
  display: grid;
  flex: none;
  place-items: center;
  inline-size: 34px;
  block-size: 34px;
  border-radius: 8px;
  background: linear-gradient(135deg, #f6e4c1, var(--gold));
  color: var(--night-deep);
  box-shadow: inset 0 1px rgb(255 255 255 / .45);
}
.button.consultation-cta {
  justify-content: space-between;
  gap: 18px;
  min-height: 48px;
  padding: 6px 7px 6px 15px;
  border-color: #846a46;
  background: linear-gradient(145deg, #15393a, #0a232b);
  color: var(--ivory);
  box-shadow: inset 0 1px rgb(255 255 255 / .09), 0 4px 12px rgb(7 15 23 / .14);
  font: 600 14px/1.3 Inter, sans-serif;
  text-decoration: none;
}
.button.consultation-cta:is(:hover, :focus-visible) { border-color: var(--gold); }
.consultation-cta:focus-visible { outline-color: var(--consultation-focus, var(--bronze)); }
.consultation-cta-icon svg { width: 17px; height: 17px; }
.contact-action .contact-button-icon svg { width: 21px; height: 21px; }
.contact-action::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(110deg, transparent 37%, rgb(228 188 120 / .16) 50%, transparent 63%) 100% 0 / 260% 100% no-repeat;
  pointer-events: none;
  content: "";
}
@media (prefers-reduced-motion: no-preference) {
  .contact-action::before { transition: background-position .6s ease-out; }
  .contact-action:is(:hover, :focus-visible)::before { background-position: 0 0; }
  .contact-button-icon { transition: transform .24s ease; }
  .contact-action:is(:hover, :focus-visible) .contact-button-icon { transform: translateY(-1px); }
  .consultation-cta-icon { transition: transform .24s ease; }
  .consultation-cta:is(:hover, :focus-visible) .consultation-cta-icon { transform: translateY(-1px); }
}
.contact-social { text-align: center; }
.contact-social p { margin-bottom: 6px; color: var(--chapter-muted, currentColor); font-size: 13px; font-weight: 600; }
.contact-social ul { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 6px; margin: 0; padding: 0; list-style: none; }
.contact-social a {
  display: flex;
  text-decoration: none;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  padding-inline: 9px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 550;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.contact-social a:is(:hover, :focus-visible) {
  border-color: var(--social-hover-border, #c7bca8);
  background: var(--social-hover-background, rgb(255 255 255 / .58));
  color: var(--social-hover-text, var(--bronze));
}
.contact-social .social-icon { flex: 0 0 16px; width: 16px; height: 16px; }

@media (max-width: 480px) {
  .contact-actions { gap: 6px; }
  :is(.button, .enquiry-channel).contact-action { gap: 6px; padding-inline: 7px; font-size: 13px; overflow-wrap: anywhere; }
  .contact-button-icon { inline-size: 27px; block-size: 27px; }
  .contact-action .contact-button-icon svg { width: 18px; height: 18px; }
  .contact-social ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
