/* /commercial-cleaning. Loads after landing.css and clean.css and adds only what a quoted, not
 * booked, service needs: three contact actions in the hero, the "what we do not clean" cards and
 * the contact row. Everything else is the residential service pages' own components. */

/* Hero: call leads, text and email sit beside it at the same weight as the residential ghost button. */
.cm-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.cm-hero-cta .ld-btn svg { width: 18px; height: 18px; }
/* Three actions instead of the residential two, so a little less side padding keeps them on one row. */
.cm-hero-cta .ld-btn-lg { padding-left: 20px; padding-right: 20px; gap: 8px; }
.cm-hero-note { margin: 0 0 24px; font-size: 14px; color: var(--ld-ink-soft); }

/* The stops sit in the full content width, with no room rail beside them. */
.cm-stops { max-width: 1100px; margin: 0 auto; }
.cm-stops .cl-stop { align-items: center; }

/* ------------------------------------------------------------------ how we work with businesses */
/* The residential "why" block, with an icon beside each term and a sticky headline on desktop. */
.cm-terms-lede { margin: -10px 0 26px; font-size: 17px; line-height: 1.6; color: var(--ld-ink-soft); max-width: 34ch; }
.cm-terms .ld-btn svg { width: 18px; height: 18px; }
.cm-terms-list li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 18px; align-items: start; }
.cm-terms-ico {
  display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px;
  background: linear-gradient(135deg, var(--ld-cyan), var(--ld-ocean)); color: #FFFFFF;
  box-shadow: 0 8px 18px -10px rgba(12, 133, 194, 0.7);
}
.cm-terms-ico svg { width: 22px; height: 22px; }
@media (min-width: 941px) {
  .cm-terms .cl-why-head { position: sticky; top: 110px; }
}

/* ------------------------------------------------------------------ what we do not clean */
.cm-not-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; max-width: 1100px; margin: 0 auto; }
.cm-not-card {
  padding: 28px 26px 26px;
  border-radius: var(--ld-r);
  background: var(--ld-white);
  border: 1px solid var(--ld-line);
  box-shadow: var(--ld-shadow-sm);
}
.cm-not-x {
  display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 18px; border-radius: 50%;
  background: #FBE9EA; color: #B4232A;
}
.cm-not-x svg { width: 20px; height: 20px; }
.cm-not-card h3 { font-size: 20px; font-weight: 800; line-height: 1.25; margin-bottom: 8px; }
.cm-not-card p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--ld-ink-soft); }
.cm-not-foot { margin: 28px auto 0; text-align: center; font-size: 15.5px; color: var(--ld-ink-soft); }
.cm-not-foot a { color: var(--ld-ocean-text); font-weight: 700; }

/* ------------------------------------------------------------------ contact row */
/* The email card is wider so the address never breaks mid-word. */
.cm-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.45fr); gap: 16px; max-width: 980px; margin: 48px auto 0; }
.cm-contact-card {
  display: flex; align-items: center; gap: 14px; padding: 18px 20px; min-height: 76px;
  border-radius: 16px; background: var(--ld-white); border: 1.5px solid var(--ld-line);
  box-shadow: var(--ld-shadow-sm); color: var(--ld-ink); text-decoration: none;
  transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.cm-contact-card:hover { border-color: var(--ld-ocean); transform: translateY(-2px); box-shadow: var(--ld-shadow-md); }
.cm-contact-card:focus-visible { outline: 3px solid var(--ld-ocean); outline-offset: 3px; }
.cm-contact-ico {
  flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px;
  background: linear-gradient(135deg, var(--ld-cyan), var(--ld-ocean)); color: #FFFFFF;
}
.cm-contact-ico svg { width: 20px; height: 20px; }
.cm-contact-card b { display: block; font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 800; }
.cm-contact-card em { display: block; font-style: normal; font-size: 14px; color: var(--ld-ink-soft); white-space: nowrap; }

.cm-body .ld-final-cta .ld-btn svg { width: 18px; height: 18px; }

@media (max-width: 900px) {
  .cm-not-grid, .cm-contact { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
}
@media (max-width: 620px) {
  .cm-hero-cta .ld-btn { flex: 1 1 auto; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .cm-contact-card { transition: none; }
  .cm-contact-card:hover { transform: none; }
}
