/* Mobile rhythm layer: shared spacing scale across all public templates. */
.cv-contact-detail {
  font-size: 18px;
}

.cv-contact-note {
  font-size: 13px;
}

@media (min-width: 1024px) {
  .cv-service-actions {
    width: 227px !important;
  }

  .cv-service-checkout-form,
  .cv-service-action,
  .cv-service-consent {
    width: 226px !important;
  }

  .cv-service-consent {
    margin-bottom: 10px !important;
    padding: 0 2px !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: 12px !important;
    line-height: 17px !important;
  }

  .cv-contact-detail {
    font-size: 22px;
  }

  .cv-contact-note {
    font-size: 14px;
  }
}

@media (max-width: 1023px) {
  .cv-service-actions,
  .cv-service-checkout-form,
  .cv-service-action,
  .cv-service-consent {
    width: 100% !important;
  }

  .cv-mobile-section {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }

  .cv-page-intro {
    margin-top: 20px !important;
  }

  .cv-page-content {
    margin-top: 40px !important;
  }

  .cv-mobile-card-grid {
    gap: 24px !important;
  }

  .cv-mobile-stack {
    gap: 32px !important;
  }

  .cv-mobile-media {
    margin-top: 32px !important;
  }
}
