/* PCT Service Manager
   Only the blocks that do not already exist in the theme are styled here.
   Hero, intro, routes table, FAQ, nearby cards and CTA all reuse the theme's
   existing pct-* classes, so they inherit the site's look automatically. */

/* ── Breadcrumb fallback, in case PCT Schema Boost is not active ── */
.pct-svc-crumbs {
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, .07);
  font-size: 13px;
  line-height: 1.4;
}
.pct-svc-crumbs .pct-container { padding-top: 10px; padding-bottom: 10px; }
.pct-svc-crumbs ol {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
  margin: 0; padding: 0; list-style: none;
}
.pct-svc-crumbs li { display: flex; align-items: center; gap: 6px; margin: 0; }
.pct-svc-crumbs li + li::before { content: "/"; opacity: .4; }
.pct-svc-crumbs a { color: inherit; opacity: .65; text-decoration: none; }
.pct-svc-crumbs a:hover, .pct-svc-crumbs a:focus { opacity: 1; text-decoration: underline; }
.pct-svc-crumbs [aria-current="page"] { font-weight: 600; opacity: .95; }

/* ── Use-case grid ── */
.pct-svc-cases { padding: 72px 0; }
.pct-svc-cases__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 36px;
}
.pct-svc-case {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 12px;
  padding: 24px;
}
.pct-svc-case__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: rgba(0, 0, 0, .05);
  margin-bottom: 14px;
}
.pct-svc-case__title {
  font-size: 17px;
  line-height: 1.3;
  margin: 0 0 8px;
}
.pct-svc-case__body {
  font-size: 14.5px;
  line-height: 1.6;
  margin: 0;
  opacity: .8;
}

/* ── Numbered steps ── */
.pct-svc-steps { padding: 72px 0; }
.pct-svc-steps__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 28px;
  margin: 36px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}
.pct-svc-step { display: flex; gap: 14px; align-items: flex-start; }
.pct-svc-step__num {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(0, 0, 0, .08);
  font-weight: 700;
  font-size: 14px;
}
.pct-svc-step__title { font-size: 16px; margin: 4px 0 6px; line-height: 1.3; }
.pct-svc-step__body { font-size: 14.5px; line-height: 1.6; margin: 0; opacity: .8; }

/* ── Linked service cards on the homepage and city/airport pages ── */
.pct-service-card--linked { position: relative; }
.pct-service-card--linked .pct-service-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.pct-service-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  font-weight: 600;
  font-size: 14px;
}
.pct-service-card--linked:hover .pct-service-card__cta,
.pct-service-card--linked:focus-within .pct-service-card__cta {
  text-decoration: underline;
}
.pct-service-card--linked:focus-within {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: 12px;
}

/* ── Long routes table needs to stay scrollable on phones ── */
.pct-svc-routes .pct-airport-routes__wrap { overflow-x: auto; }

@media (max-width: 700px) {
  .pct-svc-cases, .pct-svc-steps { padding: 48px 0; }
}
