.ecqa-contactcta {
    --ecqa-cta-bg: #eef5fc;
    --ecqa-cta-primary: #29358f;
    --ecqa-cta-text: #52647a;
    --ecqa-cta-radius: 18px;
    --ecqa-cta-max-width: 1180px;
    --ecqa-cta-margin-top: 36px;
    --ecqa-cta-margin-bottom: 48px;
    --ecqa-cta-padding: 24px;
    width: 100%;
    max-width: var(--ecqa-cta-max-width);
    margin: var(--ecqa-cta-margin-top) auto var(--ecqa-cta-margin-bottom);
    padding: var(--ecqa-cta-padding) 28px;
    border: 1px solid #dbe4f0;
    border-radius: var(--ecqa-cta-radius);
    background: var(--ecqa-cta-bg);
    color: #111c2f;
    font-family: inherit;
}

.ecqa-contactcta *,
.ecqa-contactcta *::before,
.ecqa-contactcta *::after {
    box-sizing: border-box;
}

.ecqa-contactcta__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
}

.ecqa-contactcta.no-icon .ecqa-contactcta__inner {
    grid-template-columns: minmax(0, 1fr) auto;
}

.ecqa-contactcta__icon {
    display: grid;
    width: 64px;
    height: 64px;
    place-items: center;
    border: 2px solid var(--ecqa-cta-primary);
    border-radius: 50%;
    background: #ffffff;
    color: var(--ecqa-cta-primary);
    font-size: 34px;
    font-weight: 500;
    line-height: 1;
}

.ecqa-contactcta__content {
    min-width: 0;
}

.ecqa-contactcta__content h2 {
    margin: 0 0 6px;
    color: #111c2f;
    font-family: inherit;
    font-size: 21px;
    font-weight: 650;
    line-height: 1.3;
}

.ecqa-contactcta__content p {
    margin: 0;
    color: var(--ecqa-cta-text);
    font-size: 15px;
    line-height: 1.55;
}

.ecqa-contactcta__button {
    display: inline-flex;
    min-width: 205px;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 12px 25px;
    border: 2px solid var(--ecqa-cta-primary);
    border-radius: 999px;
    background: var(--ecqa-cta-primary);
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    transition: background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.ecqa-contactcta__button:hover,
.ecqa-contactcta__button:focus-visible {
    background: #ffffff;
    color: var(--ecqa-cta-primary) !important;
    box-shadow: 0 9px 22px rgba(41, 53, 143, .14);
    transform: translateY(-2px);
}

.ecqa-contactcta__button:focus-visible {
    outline: 3px solid rgba(41, 53, 143, .2);
    outline-offset: 3px;
}

@media (max-width: 720px) {
    .ecqa-contactcta__inner,
    .ecqa-contactcta.no-icon .ecqa-contactcta__inner {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .ecqa-contactcta__button {
        width: 100%;
        max-width: 360px;
    }
}

@media (max-width: 480px) {
    .ecqa-contactcta {
        padding-right: 20px;
        padding-left: 20px;
    }

    .ecqa-contactcta__icon {
        width: 58px;
        height: 58px;
        font-size: 30px;
    }
}


/* ECQA unified action button interaction */
.ecqa-contactcta__button {
  position: relative; z-index: 2; pointer-events: auto; touch-action: manipulation;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}
@media (hover: hover) and (pointer: fine) {
.ecqa-contactcta__button:hover {
  background: #ffffff !important; color: #27378f !important; border-color: #27378f !important;
  transform: translateY(-2px); box-shadow: 0 8px 18px rgba(39,55,143,.14);
}
}
.ecqa-contactcta__button:focus-visible { outline: 3px solid rgba(39,55,143,.25); outline-offset: 3px; }
@media (hover: none), (pointer: coarse) {
.ecqa-contactcta__button { -webkit-tap-highlight-color: rgba(39,55,143,.12); }
.ecqa-contactcta__button:hover { transform: none; }
}

/* ECQA unified action-button hover — 2026-09-11 */
@media (hover: hover) and (pointer: fine) {
  .ecqa-project__button:hover,
  .ecqa-contactcta__button:hover,
  .ecqa-hero .ecqa-button:hover,
  .ecqa-project-card__button:hover,
  .ecqa-contentblock__button:hover,
  .ecqa-contentblock__button--primary:hover,
  .ecqa-contentblock__button--secondary:hover,
  .ecqa-newsletter__fields button:hover,
  .ecqa-video-services__button:hover,
  .ecqa-featurecard__button:hover,
  .ecqa-contactform__form button[type="submit"]:hover,
  .ecqa-contactform__form input[type="submit"]:hover,
  .ecqa-contactform__form .btn-primary:hover,
  .ecqa-contactform__form .visBtn:hover,
  .ecqa-trainingprovider__button:hover,
  .ecqa-exam-card__button:hover,
  .ecqa-news__button:hover {
    background: #1f2d73 !important;
    border-color: #1f2d73 !important;
    color: #fff !important;
    opacity: 1 !important;
    filter: none !important;
    transform: translateY(-2px);
  }
}
