/* V58: contact UI that works without a configured desktop email client. */
.av58-hero-email {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  max-width: 100%;
}
.av58-hero-email .av58-email-address {
  color: #fff;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.av58-hero-email button.av58-copy-inline {
  appearance: none;
  padding: 4px 10px;
  border: 1px solid #c4e2ff;
  border-radius: 8px;
  background: rgba(23,35,50,.25);
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.av58-hero-email button.av58-copy-inline:hover { background: rgba(181,212,242,.22); }
.av58-email-inline-status:not(:empty) {
  display: block;
  flex-basis: 100%;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.5;
}
.av58-hero-email .av58-email-inline-status { color: #d4f0df; }
.av58-footer-email {
  display: grid;
  justify-items: start;
  gap: 5px;
  max-width: 225px;
  margin: 0 0 17px;
  color: #dce2e9;
}
.av58-footer-email .av58-email-label { font-size: 12px; font-weight: 650; }
.av58-footer-email .av58-email-address {
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.av58-footer-email button.av58-copy-inline {
  appearance: none;
  padding: 3px 0;
  border: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.av58-footer-email button.av58-copy-inline:hover { color: #c4e2ff; }
.av58-footer-email .av58-email-inline-status { color: #c0f1d0; }
.av58-copy-inline:focus-visible { outline: 3px solid #9db7cf !important; outline-offset: 3px !important; }
/* Reset legacy anchor-only CTA styles on real buttons. */
.ag-assurance-page button.ag-assurance-text-link[data-av-action="contact"] {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 13px 20px !important;
  min-height: 48px;
  border: 1px solid #c8d5e8 !important;
  border-radius: 999px;
  background: transparent !important;
  color: #fff !important;
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none !important;
  cursor: pointer;
}
.ag-assurance-page button.ag-assurance-text-link[data-av-action="contact"]:hover {
  background: rgba(255,255,255,.12) !important;
  border-color: #fff !important;
  text-decoration: none !important;
}
.ag-assurance-page button.ag-assurance-inline-link[data-av-action="quote"] {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  padding: 6px 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #2c5d9f !important;
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.4;
  text-align: left;
  text-decoration: underline !important;
  text-underline-offset: 4px;
  cursor: pointer;
}
.ag-assurance-page button.ag-assurance-inline-link[data-av-action="quote"]:hover { color: #163e68 !important; }

/* Other inherited anchor-to-button conversions retain their intended button shape. */
button.editorial-small-cta.av23-placeholder-cta,
button.v7-spot-quote.av23-placeholder-cta {
  appearance: none;
  border: 1px solid transparent;
  font-family: inherit;
  line-height: 1.4;
  cursor: pointer;
}

/* Every contact dialog offers an in-place copy action, not an external blank tab. */
.av25-contact-choice.av58-email-copy {
  appearance: none;
  width: 100%;
  background: #f6f8fb;
  color: #172332 !important;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.av25-contact-choice.av58-email-copy:hover { background: #eaf1f8; border-color: #7295ba; }
.av58-copy-mark { color: #2c5d9f; font-size: 20px; font-weight: 800; }
.av58-contact-tip {
  margin: -3px 3px 0;
  font-size: 12px;
  line-height: 1.5;
  color: #3d5067;
}
.av58-contact-status {
  min-height: 18px;
  margin: 0 3px;
  color: #205d39;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.5;
}
.av58-email-copy.av58-is-copied { border-color: #378452; background: #edf9f0; }
.av56-booking-fallback button.av58-email-copy {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 9px 14px;
  border: 1px solid #9db3ca;
  border-radius: 9px;
  background: #fff;
  color: #163e68;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.av56-booking-fallback button.av58-email-copy:hover { background: #eaf1f8; }
.av56-booking-fallback button.av58-email-copy:focus-visible,
.ag-assurance-page button.ag-assurance-text-link:focus-visible,
.ag-assurance-page button.ag-assurance-inline-link:focus-visible {
  outline: 3px solid #9db7cf !important;
  outline-offset: 4px !important;
}
@media (max-width: 700px) {
  .av56-booking-fallback button.av58-email-copy { flex: 1 1 135px; }
  .ag-assurance-page button.ag-assurance-text-link[data-av-action="contact"] { width: 100%; }
}
