/* One contact system for the office, enquiry form and WhatsApp, in all languages. */
.fm-contact-panel {
  --fm-contact-bg: #132238;
  --fm-contact-text: #f7f8fa;
  --fm-contact-muted: #d3deea;
  --fm-contact-border: #718299;
  --fm-contact-accent: #f97316;
  box-sizing: border-box;
  min-width: 0;
  padding: clamp(24px, 3vw, 32px);
  color: var(--fm-contact-text);
  background: var(--fm-contact-bg);
  border: 1px solid #4b6077;
  border-radius: 20px;
}
.fm-contact-panel h2,
.fm-contact-panel h3 {
  margin: 0 0 14px;
  color: var(--fm-contact-text);
  font-size: 1.4rem;
  line-height: 1.3;
}
.fm-contact-panel p {
  margin: 0 0 24px;
  color: var(--fm-contact-muted);
  font-size: 1rem;
  line-height: 1.7;
}
.fm-contact-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
a.fm-contact-action,
a.fm-contact-action:visited {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 52px;
  padding: 13px 16px;
  color: #f7f8fa;
  background: #132238;
  border: 1px solid #718299;
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
a.fm-contact-action--office,
a.fm-contact-action--office:visited {
  color: #0a1628;
  background: #f97316;
  border-color: #f97316;
}
a.fm-contact-action:hover { background: #263a52; }
a.fm-contact-action--office:hover { background: #ffad75; border-color: #ffad75; }
.fm-contact-action .ph-bold { flex: 0 0 auto; font-size: 1.25rem; }
.fm-contact-action small { display: block; font-size: .95rem; font-weight: 600; }
body a.fm-contact-action span,
body a.fm-contact-action small,
body a.fm-contact-action i { color: inherit !important; }
a.fm-contact-action:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.fm-contact-secondary { display: block; margin-top: 20px; color: #d3deea; line-height: 1.6; }
.fm-contact-secondary a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
#contact-form { scroll-margin-top: 120px; }
#contact-form input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  box-sizing: border-box;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px;
  min-height: 0;
  flex: 0 0 20px;
  padding: 0 !important;
  border-radius: 3px;
  accent-color: #f97316;
  cursor: pointer;
}
.fm-contact-email { margin: 24px 0 0 !important; overflow-wrap: anywhere; }
.fm-contact-email a { color: #f7f8fa; }
.fm-contact-section { padding: 48px 0 64px; }
.fm-contact-section .fm-contact-panel { max-width: 1080px; margin: 0 auto; }
.fm-contact-section .fm-contact-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.fm-related { margin-top: 28px; padding-top: 22px; border-top: 1px solid #4b6077; }
.fm-related h3 { font-size: 1rem; }
.fm-related ul { list-style: none; padding: 0; margin: 0; }
.fm-related li { margin: 12px 0; }
.fm-related a { color: #ffad75; text-underline-offset: 3px; line-height: 1.6; }
.fm-contact-panel.sidebar { align-self: start; }
main > .fm-contact-action { max-width: 420px; margin: 24px auto; }
.content-body > .fm-contact-action { max-width: 420px; margin: 20px 0; }
.content-body p > .fm-contact-action { max-width: 420px; }
.service-actions .fm-contact-action { width: auto; min-width: 210px; }
.hero-btns .fm-contact-action { width: auto; }
.content-body details > p { color: #cbd5e1 !important; }
@media (max-width: 760px) {
  .fm-contact-section .fm-contact-actions { grid-template-columns: 1fr; }
  .fm-contact-panel.sidebar { position: static; }
  .service-actions .fm-contact-action, .hero-btns .fm-contact-action { width: 100%; }
}
@media (max-width: 600px) {
  .form-container, .contact-form-container { padding: 20px !important; }
}
@media (prefers-reduced-motion: reduce) {
  a.fm-contact-action { transition: none; }
}
