/* LOCAL PROPOSAL: assign these portable widget classes only after pilot approval.
 * Native Elementor retains normal colors, typography, spacing and geometry.
 * No global link color, scaling, wrappers or generated duplicate arrows. */
.elementor-element.anable-contact-email a[href^="mailto:"] {
  text-decoration: underline;
  text-decoration-color: var(--gold, #ba9353);
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
  overflow-wrap: anywhere;
  transition: text-decoration-thickness .2s, text-decoration-color .2s;
}
.elementor-element.anable-cta-feedback .elementor-button-icon,
.anable-related-feedback .elementor-button-text::after {
  transition: transform .2s;
}
.anable-link-feedback a { transition: text-decoration-thickness .2s; }

/* Focus remains visible without hover capability. Only opt-in controls change. */
:is(.anable-contact-email, .anable-cta-feedback, .anable-link-feedback,
    .anable-explore-feedback, .anable-related-feedback) a:focus-visible {
  outline: 2px solid var(--gold-text, #886a36);
  outline-offset: 5px;
}
.elementor-element.anable-contact-email a:focus-visible {
  outline-color: var(--navy, #0f1d31);
  text-decoration-thickness: 2px;
}
.anable-link-feedback a:focus-visible { text-decoration-thickness: 2px; }
.anable-related-feedback .elementor-button:focus-visible .elementor-button-text::after {
  transform: translate(2px, -2px);
}
.anable-homepage .anable-explore-feedback .elementor-button:focus-visible .elementor-button-text::after {
  border-color: var(--gold, #ba9353);
}
@media (hover: hover) and (pointer: fine) {
  .elementor-element.anable-contact-email a:hover,
  .anable-link-feedback a:hover { text-decoration-thickness: 2px; }
  .anable-cta-feedback .elementor-button:hover .elementor-button-icon,
  .anable-related-feedback .elementor-button:hover .elementor-button-text::after {
    transform: translate(2px, -2px);
  }
  /* Open rotation/fill is owned by homepage.css and deliberately untouched. */
  .anable-homepage .anable-service:not(.is-open) .anable-explore-feedback .elementor-button:hover .elementor-button-text::after {
    background-color: #eee9df;
    border-color: var(--gold, #ba9353);
  }
}

/* Progressive enhancement: waiting, failed and no-JS content stays opaque. */
.anable-scroll-reveal { opacity: 1; transform: none; }
.anable-scroll-reveal.is-visible {
  animation: anable-interior-reveal .7s var(--ease, cubic-bezier(.22,1,.36,1)) both;
}
.anable-scroll-reveal.anable-reveal-delay-1 { animation-delay: .1s; }
.anable-scroll-reveal.anable-reveal-delay-2 { animation-delay: .2s; }
@keyframes anable-interior-reveal {
  from { opacity: .45; transform: translateY(20px); }
  to { opacity: 1; transform: none; }
}
body.elementor-editor-active .anable-scroll-reveal,
body.anable-reveal-disabled .anable-scroll-reveal,
.anable-scroll-reveal:focus-within { opacity: 1; transform: none; animation: none; }
@media (prefers-reduced-motion: reduce) {
  .anable-scroll-reveal.is-visible { opacity: 1; transform: none; animation: none; }
  :is(.anable-contact-email, .anable-cta-feedback, .anable-link-feedback,
      .anable-explore-feedback, .anable-related-feedback) a,
  .anable-cta-feedback .elementor-button-icon,
  .anable-explore-feedback .elementor-button-text::after,
  .anable-related-feedback .elementor-button-text::after { transition: none; }
  .anable-cta-feedback .elementor-button:hover .elementor-button-icon,
  .anable-related-feedback .elementor-button:is(:hover, :focus-visible) .elementor-button-text::after { transform: none; }
}
