/* ratelsoft.ca additions on top of the shared Ratelsoft site.css */

/* Two services side by side instead of the .com's flagship-plus-three grid */
.k-products__grid.ca-duo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ca-duo .k-card--flag { grid-column: auto; }
.ca-duo .k-card--flag .k-card__facts { grid-template-columns: 1fr; }
@media (max-width: 860px) {
  .k-products__grid.ca-duo { grid-template-columns: 1fr; }
}

/* Cabpin's own ink: midnight with the roof-light glow, never blue */
.ca-card--cab {
  --k-tint: #FFC247;
  background:
    radial-gradient(50rem 26rem at 110% -20%, rgba(255, 194, 71, .16), transparent 60%),
    #0D1B2A;
  border-color: #1E3247;
}
.ca-card--cab:hover { border-color: rgba(255, 194, 71, .55); }

/* Product tags inside the hero's event log */
.ca-tag {
  display: inline-block;
  font: 600 .68rem/1 var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: .22rem .4rem;
  margin-right: .4rem;
  border-radius: 4px;
  background: color-mix(in srgb, var(--leaf) 22%, transparent);
  color: var(--leaf);
  vertical-align: 1px;
}
.ca-tag--cab {
  background: rgba(255, 194, 71, .16);
  color: #FFC247;
}

.ca-hero-log { margin: 0; }

/* Dispatch queue statuses */
.ca-status {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .82rem;
  white-space: nowrap;
}
.ca-status::before {
  content: "";
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: var(--text-faint);
  flex: none;
}
.ca-status--on::before { background: var(--ok); }
.ca-status--wait::before { background: #FFC247; box-shadow: 0 0 0 3px rgba(255, 194, 71, .25); }

.ca-row { margin-top: 1.6rem; justify-content: flex-start; }

.ca-footer-address { font-style: normal; margin-top: .8rem; line-height: 1.55; }

/* Cabpin lamp mark: the midnight version vanishes on dark surfaces, so swap it */
.ca-lamp--dark { display: none; }
:root[data-theme="dark"] .ca-lamp--light { display: none; }
:root[data-theme="dark"] .ca-lamp--dark { display: inline-block; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .ca-lamp--light { display: none; }
  :root:not([data-theme="light"]) .ca-lamp--dark { display: inline-block; }
}

/* Contact form result */
.ca-form-status { margin-bottom: 1.4rem; }
.ca-form-status:focus { outline: none; }

/* Plain prose pages (privacy) */
.ca-legal { max-width: 46rem; }
.ca-legal h2 { margin-top: 2.2rem; }
.ca-legal ul { padding-left: 1.2rem; }

/* The hero log plays its lines in on load, like the .com's event log does on scroll */
@media (prefers-reduced-motion: no-preference) {
  .k-motion .ca-hero-log.is-in li {
    animation: k-logline .45s ease forwards;
    animation-delay: calc(.35s + var(--i, 0) * .32s);
  }
}
