/* /css/kinza-licence.css */
/*
 * KinzaHR licence & verification band — sits directly under the Elementor footer.
 * White background with the Kinza teal accents (#10918E / #15C1BD) so it reads as
 * a clean closing band rather than part of the dark footer above it.
 *
 * Generated/injected by scripts/apply-licence-strip.mjs from src/data/licence.json.
 * Edit that JSON (not the markup) and re-run the script to update every page.
 */

.kz-licence {
  background: #fff;
  border-top: 1px solid #e2e8f0;
  color: #0f202b;
  padding: 40px 16px 44px;
  font-family: inherit;
}

.kz-licence__inner {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 32px 48px;
}

.kz-licence__details {
  flex: 1 1 460px;
  min-width: 0;
}

.kz-licence__title {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #0f202b;
  margin: 0 0 6px;
  line-height: 1.3;
}

.kz-licence__title::after {
  content: "";
  display: block;
  width: 46px;
  height: 3px;
  margin-top: 8px;
  background: #15c1bd;
  border-radius: 2px;
}

.kz-licence__lead {
  margin: 14px 0 20px;
  font-size: 14px;
  line-height: 1.65;
  color: #5a6a76;
  max-width: 56ch;
}

.kz-licence__grid {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 32px;
}

.kz-licence__row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e2e8f0;
}

.kz-licence__row dt {
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #5a6a76;
  margin: 0;
  font-weight: 600;
}

.kz-licence__row dd {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #0f202b;
  text-align: right;
}

.kz-licence__badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  background: #e7f4f3;
  border: 1px solid #10918e;
  color: #10918e;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.kz-licence__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.kz-licence__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition:
    background-color 0.18s ease,
    color 0.18s ease,
    border-color 0.18s ease;
}

/*
 * These buttons are <a>, so the Elementor kit's global link colour applies to
 * them: `.elementor-kit-11 a { color: #10918e }` is specificity (0,1,1) and
 * beat a plain `.kz-licence__btn--primary` (0,1,0), painting the label the same
 * green as the button. Every rule below is scoped under `.kz-licence` to reach
 * (0,2,0) so the intended colour wins without !important.
 *
 * Background is a shade deeper than the #10918e brand teal: white 14px bold on
 * #10918e is only 3.84:1, under the 4.5:1 WCAG AA minimum. #0c7472 is the same
 * hue and reads as the same button at 5.59:1.
 */
.kz-licence .kz-licence__btn--primary {
  background: #0c7472;
  color: #fff;
  border: 1px solid #0c7472;
}

.kz-licence .kz-licence__btn--primary:hover,
.kz-licence .kz-licence__btn--primary:focus-visible {
  background: #0f202b;
  border-color: #0f202b;
  color: #fff;
}

.kz-licence .kz-licence__btn--ghost {
  background: transparent;
  color: #10918e;
  border: 1px solid #10918e;
}

.kz-licence .kz-licence__btn--ghost:hover,
.kz-licence .kz-licence__btn--ghost:focus-visible {
  background: #e7f4f3;
  border-color: #0f202b;
  color: #0f202b;
}

.kz-licence__verify {
  flex: 0 0 auto;
  text-align: center;
  margin-inline: auto;
}

.kz-licence__qr {
  display: inline-block;
  padding: 12px;
  background: #fff;
  border-radius: 10px;
  line-height: 0;
  border: 3px solid #15c1bd;
}

.kz-licence__qr img {
  width: 150px;
  height: 150px;
  display: block;
}

.kz-licence__qr-caption {
  margin: 12px 0 0;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #5a6a76;
}

@media (max-width: 767px) {
  .kz-licence {
    padding: 30px 14px 36px;
  }

  .kz-licence__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .kz-licence__inner {
    gap: 26px;
  }

  .kz-licence__btn {
    flex: 1 1 100%;
    justify-content: center;
  }
}

/* /css/kinza-form-fix.css */
/**
 * KinzaHR form layout — full-width fields + aligned First/Last name row.
 * Live WP uses CSS columns on .kzf1 (staggers names) and bare inputs (~313px).
 * Blog sidebar (.blog-form) already grids .kzf1 with margin-bottom:-15px; keep
 * CF7 <p> top margin (~18px) so Email does not slide under the name inputs.
 */
.kzform .kzf1 {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  columns: auto !important;
  column-count: auto !important;
  width: 100%;
}

.kzform .kzf1 > div {
  break-inside: avoid;
  width: 100%;
  min-width: 0;
}

/* Match live: labels stay inline (CF7 uses label + <br> + input) */
.kzform label {
  margin-bottom: 5px;
}

/* Match live CF7 paragraph rhythm (18px vertical). */
.kzform p {
  margin-top: 18px;
  margin-bottom: 18px;
}

.kzform .kzf1 p {
  margin-top: 0;
  margin-bottom: 0;
}

.kzform > .kzf1 + div > p:first-child,
.kzform > .kzf1 + p {
  margin-top: 18px;
}

.kzform input[type='text'],
.kzform input[type='email'],
.kzform input[type='tel'],
.kzform input[type='url'],
.kzform input.wpcf7-form-control:not([type='submit']):not([type='checkbox']):not([type='hidden']),
.kzform textarea,
.kzform .wpcf7-form-control-wrap,
.kzform .intl-tel-input,
.kzform .iti {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.kzform .intl-tel-input input,
.kzform .iti input {
  width: 100% !important;
  box-sizing: border-box !important;
}

.kzform textarea {
  display: block;
  min-height: 95px;
}

.kzform .sbt-btn,
.kzform .sbt-btn p {
  margin-top: 18px;
  margin-bottom: 0;
}

.kzform .sbt-btn .wpcf7-submit,
.kzform input[type='submit'] {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Match live CF7: center success/error response under the submit button */
.kzform .wpcf7-response-output,
.wpcf7-form .wpcf7-response-output,
.wpcf7-form.sent .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output {
  text-align: center;
}

@media (max-width: 767px) {
  .kzform .kzf1 {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .kzform .kzf1 > div {
    margin-bottom: 14px;
  }
}

/*
 * Sticky sidebar forms and the sticky header both default to Elementor z-index 99.
 * DOM order then paints the form over the menu on scroll. Keep the header above,
 * and clear the ~81px header so First/Last name never sit inside the nav bar.
 */
.elementor-location-header .elementor-sticky--active,
.elementor-element-6f7aa16.elementor-sticky--active,
.elementor-element-e1ad642.elementor-sticky--active {
  z-index: 1000 !important;
}

.blog-form.elementor-sticky--active,
.elementor-element-0933e6e.elementor-sticky--active,
.elementor-element-16a1fb7.elementor-sticky--active,
.elementor-element-d0c0271.elementor-sticky--active {
  z-index: 10 !important;
}
