.cta-primary {
    border: 4px solid transparent;
    transition: all 0.2s ease;
    cursor: pointer;
}
.cta-primary:hover {
    border-color: #ff8fd6;
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(169,29,143,.18);
}
.cta-secondary {
    border: 4px solid #e3dcec;
    border-radius: 12px;
    color: #3B1A60;
    background: #faf7fd;
    box-shadow: 0 2px 10px rgba(74,33,120,.05);
    transition: all 0.2s ease;
    cursor: pointer;
}
.cta-secondary:hover {
    background: #f3e9f8;
    border-color: #a91d8f;
    color: #a91d8f;
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(169,29,143,.18);
}
.elementor-menu-toggle::after {
    content: "Menu";
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    font-family: Segoe UI, Arial, sans-serif;
    margin-left: 10px;
    vertical-align: middle;
}

@media (max-width: 767px) {

  /* Compress blue NHS bar */
  .elementor-element-11c2547 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .elementor-element-11c2547 .elementor-widget-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .elementor-element-11c2547 p,
  .elementor-element-11c2547 .elementor-widget-text-editor {
    font-size: 11px !important;
    line-height: 1.3 !important;
    margin-bottom: 4px !important;
    text-align: center !important;
    width: 100% !important;
  }
  .elementor-element-11c2547 .elementor-widget-heading,
  .elementor-element-11c2547 .elementor-heading-title {
    text-align: center !important;
    width: 100% !important;
  }
  .elementor-element-11c2547 *[style*="flex-end"] {
    justify-content: center !important;
  }

  /* Compress purple gradient section */
  .elementor-element-22444a1b {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .elementor-element-22444a1b .elementor-container {
    overflow: hidden !important;
    max-width: 100% !important;
  }
  .elementor-element-22444a1b .elementor-column {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .elementor-element-22444a1b .elementor-widget-nav-menu {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
  .elementor-element-22444a1b .elementor-search-form__input {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    font-size: 13px !important;
  }

  /* Logo size */
  .pmc-logo-widget img {
    width: 130px !important;
    max-width: 130px !important;
    height: auto !important;
  }

  /* Register button */
  .pmc-register-btn .elementor-button {
    font-size: 11px !important;
    padding: 8px 10px !important;
    white-space: nowrap !important;
  }

  /* Menu toggle */
  .elementor-menu-toggle {
    padding: 4px 8px !important;
    font-size: 14px !important;
  }

}