/* Chaimex Labs — About / Contact / policy page layouts (dark theme) */

/* Shared page-top hero band (services, about, contact, policy) */
.cx-page-hero { padding: 132px 0 72px; position: relative; overflow: hidden; }
.cx-page-hero::before {
  content: '';
  position: absolute;
  top: -300px; left: -140px;
  width: 680px; height: 680px;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(61, 107, 255, .18), transparent);
  filter: blur(80px);
  pointer-events: none;
}
.cx-page-hero .cx-shell { position: relative; z-index: 1; }
.cx-page-hero h1 { max-width: 20ch; }
.cx-page-hero > .cx-shell > p,
.cx-page-hero .cx-contact-hero-grid > div > p,
.cx-page-hero .cx-about-hero-grid p { max-width: 60ch; font-size: 1.05rem; }

@media (max-width: 900px) {
  .cx-page-hero { padding: 104px 0 56px; }
}

/* About hero */
.cx-about-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
.cx-about-hero-grid .cx-actions { margin-top: 28px; }

/* About story — two cards side by side */
.cx-about-story { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.cx-about-story .cx-card h2 { font-size: 1.4rem; }
.cx-about-steps { list-style: none; margin: 0; padding: 0; counter-reset: cx-step; }
.cx-about-steps li {
  position: relative;
  padding: 14px 0 14px 44px;
  border-bottom: 1px solid var(--cx-edge);
  counter-increment: cx-step;
}
.cx-about-steps li:last-child { border-bottom: 0; padding-bottom: 0; }
.cx-about-steps li::before {
  content: counter(cx-step, decimal-leading-zero);
  position: absolute; left: 0; top: 16px;
  font-family: var(--cx-font-mono);
  font-size: .82rem; font-weight: 700;
  color: var(--cx-blue-soft);
}
.cx-about-steps strong { display: block; font-size: .98rem; color: var(--cx-text-hi); margin-bottom: 2px; }
.cx-about-steps span { color: var(--cx-text-dim); font-size: .9rem; }

/* About business band */
.cx-about-business { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: center; }

/* Shared business-info card (About + Contact side) */
.cx-business-card { padding: 28px; }
.cx-business-card strong { display: block; font-family: var(--cx-font-display); color: var(--cx-text-hi); font-size: 1.1rem; margin-bottom: 10px; }
.cx-business-card p { font-size: .9rem; margin-bottom: 10px; }
.cx-business-card a:hover { color: var(--cx-blue-soft); }
.cx-side-label {
  display: block;
  font-family: var(--cx-font-mono);
  font-size: .68rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase;
  color: var(--cx-blue-soft); margin-bottom: 14px;
}

/* Contact hero */
.cx-contact-hero-grid { display: grid; grid-template-columns: 1.4fr .9fr; gap: 32px; align-items: center; }
.cx-contact-promise { padding: 24px; align-self: center; }
.cx-contact-promise strong { display: block; color: var(--cx-text-hi); font-family: var(--cx-font-display); font-size: 1.1rem; }
.cx-contact-promise span { color: var(--cx-text); font-size: .9rem; }

/* Contact body — form + sidebar */
.cx-contact-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; align-items: start; }
.cx-contact-side { display: flex; flex-direction: column; gap: 20px; }
.cx-contact-steps { padding: 28px; }
.cx-contact-steps ol { list-style: none; margin: 0; padding: 0; counter-reset: cx-cstep; }
.cx-contact-steps li {
  position: relative; padding: 10px 0 10px 40px; counter-increment: cx-cstep;
}
.cx-contact-steps li::before {
  content: counter(cx-cstep, decimal-leading-zero);
  position: absolute; left: 0; top: 12px;
  font-family: var(--cx-font-mono);
  font-size: .8rem; font-weight: 700;
  color: var(--cx-blue-soft);
}
.cx-contact-steps strong { display: block; font-size: .95rem; color: var(--cx-text-hi); }
.cx-contact-steps span { color: var(--cx-text-dim); font-size: .88rem; }

/* Contact Form 7 styling inside the form wrap */
.cx-contact-form-wrap form label {
  display: block;
  font-size: .85rem; font-weight: 700; color: var(--cx-text-hi);
  margin-bottom: 16px;
}
.cx-contact-form-wrap input[type="text"],
.cx-contact-form-wrap input[type="email"],
.cx-contact-form-wrap input[type="url"],
.cx-contact-form-wrap select,
.cx-contact-form-wrap textarea {
  width: 100%;
  margin-top: 6px;
  padding: 12px 14px;
  font: inherit;
  color: var(--cx-text-hi);
  background: var(--cx-glass);
  border: 1px solid var(--cx-edge);
  border-radius: var(--cx-radius-sm);
  transition: border-color .2s var(--cx-ease), box-shadow .2s var(--cx-ease), background .2s var(--cx-ease);
}
.cx-contact-form-wrap select option { background: var(--cx-bg-raised); color: var(--cx-text-hi); }
.cx-contact-form-wrap ::placeholder { color: var(--cx-text-dim); opacity: 1; }
.cx-contact-form-wrap textarea { min-height: 140px; resize: vertical; }
.cx-contact-form-wrap input:focus,
.cx-contact-form-wrap select:focus,
.cx-contact-form-wrap textarea:focus {
  outline: none;
  border-color: var(--cx-blue);
  background: rgba(61, 107, 255, .06);
  box-shadow: 0 0 0 3px rgba(61, 107, 255, .25);
}
.cx-contact-form-wrap input[type="submit"] {
  width: auto;
  margin-top: 8px;
  padding: 14px 28px;
  font-weight: 700;
  font-family: var(--cx-font-body);
  color: #fff;
  background: var(--cx-blue);
  border: 0;
  border-radius: var(--cx-radius-sm);
  cursor: pointer;
  box-shadow: var(--cx-glow-blue);
  transition: transform .25s var(--cx-ease), box-shadow .25s var(--cx-ease), background .2s var(--cx-ease);
}
.cx-contact-form-wrap input[type="submit"]:hover { transform: translateY(-2px); background: var(--cx-blue-bright); box-shadow: 0 0 36px rgba(61, 107, 255, .5); }
.cx-contact-form-wrap .wpcf7-not-valid-tip { color: #FF8A8A; font-size: .8rem; font-weight: 500; }
.cx-contact-form-wrap .wpcf7-response-output {
  margin: 16px 0 0;
  padding: 12px 16px;
  border: 1px solid var(--cx-edge) !important;
  border-radius: var(--cx-radius-sm);
  font-size: .9rem;
  color: var(--cx-text-hi);
}

/* Policy / legal prose pages */
.cx-policy { max-width: 760px; }
.cx-policy h2 { font-size: 1.3rem; margin: 32px 0 12px; }
.cx-policy p { margin-bottom: 16px; }
.cx-policy a { color: var(--cx-blue-soft); }
.cx-policy a:hover { text-decoration: underline; }
.cx-policy ul, .cx-policy ol { margin: 0 0 16px; padding-left: 22px; }
.cx-policy li { margin-bottom: 8px; color: var(--cx-text); }

/* Responsive */
@media (max-width: 900px) {
  .cx-about-story { grid-template-columns: 1fr; }
  .cx-about-business { grid-template-columns: 1fr; }
  .cx-contact-hero-grid { grid-template-columns: 1fr; }
  .cx-contact-grid { grid-template-columns: 1fr; }
}
