/* BAZAR Card Studio v2.1 — Accessible service catalog card polish.
 * Explicitly scoped to the v18 catalog markup. No edits to content or links.
 * Inline token values are supplied by the plugin, with resilient fallbacks.
 */
.bzh .bj-services .bj-service-rows { min-width: 0; }
.bzh .bj-services .bj-service-rows > .bj-service {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(28px,44px) minmax(0,1fr) minmax(154px,max-content);
  align-items: start;
  gap: clamp(14px,2vw,var(--bcs2-catalog-gap,22px));
  padding: var(--bcs2-catalog-padding,26px);
  margin-block: 0 14px;
  width: 100%;
  min-width: 0;
  border: 1px solid var(--bcs2-border,#d8e2e7);
  border-radius: var(--bcs2-card-radius,22px);
  background: #fff;
  box-shadow: 0 12px 32px rgba(13,38,58,.045);
  scroll-margin-top: 105px;
  transition: box-shadow .2s ease, border-color .2s ease;
}
.bzh .bj-services .bj-service-rows > .bj-service:hover {
  border-color: #b9cbd5;
  box-shadow: 0 18px 42px rgba(13,38,58,.085);
}
.bzh .bj-services .bj-service-rows > .bj-service:target {
  outline: 2px solid var(--bcs2-copper,#a1543b);
  outline-offset: 3px;
}
.bzh .bj-services .bj-service-rows > .bj-service > .bj-service-num {
  grid-column: 1; font-variant-numeric: tabular-nums;
  direction:ltr; text-align: start; line-height:2; padding-top:3px;
}
.bzh .bj-services .bj-service-rows > .bj-service > .bj-service-body {
  grid-column: 2; min-width:0;
  display:flex;flex-direction:column;align-items:stretch;
  gap: 12px;
}
.bzh .bj-services .bj-service-rows > .bj-service .bj-service-body h3 {
  margin: 0; min-width:0; max-width:none;
  overflow-wrap:break-word; text-align:start;
  text-wrap:pretty; line-height:1.55;
}
.bzh .bj-services .bj-service-rows > .bj-service .bj-service-body > p {
  margin:0; max-width:75ch; min-width:0;
  overflow-wrap:break-word; line-height:1.9;
}
.bzh .bj-services .bj-service-rows > .bj-service .bj-details {
  margin:0; min-width:0;
}
.bzh .bj-services .bj-service-rows > .bj-service .bj-details summary {
  min-height:44px; box-sizing:border-box;
  padding-block:10px; padding-inline:0;
  align-items:center; line-height:1.85;
  outline-offset:3px;
}
.bzh .bj-services .bj-service-rows > .bj-service .bj-details summary:focus-visible {
  outline: 2px solid var(--bcs2-copper,#a1543b);
  border-radius:3px;
}
.bzh .bj-services .bj-service-rows > .bj-service > a.bj-small-cta {
  grid-column:3;
  justify-self:stretch;
  align-self:start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-height:var(--bcs2-catalog-button-height,46px);
  max-width:100%;
  min-width:0;
  padding:10px 20px;
  margin:0;
  font-weight:600;
  line-height:1.65;
  white-space:normal;
  text-align:center;
  overflow-wrap:break-word;
  border-radius:9px;
  text-decoration:none;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.bzh .bj-services .bj-service-rows > .bj-service > a.bj-small-cta:focus-visible {
  outline:2px solid var(--bcs2-copper,#a1543b);
  outline-offset:4px;
}
/* No horizontal carousel here: catalog content must remain discoverable and readable. */
@media (max-width:980px) {
  .bzh .bj-services .bj-service-rows > .bj-service {
    grid-template-columns:minmax(28px,40px) minmax(0,1fr);
    gap:12px clamp(12px,2.5vw,var(--bcs2-catalog-gap,22px));
  }
  .bzh .bj-services .bj-service-rows > .bj-service > a.bj-small-cta {
    grid-column:2;
    justify-self:start;
    width:auto;
    min-width:166px;
    margin-block-start:8px;
  }
}
@media (max-width:560px) {
  .bzh .bj-services .bj-service-rows > .bj-service {
    padding:clamp(18px,4vw,var(--bcs2-catalog-padding,26px));
    grid-template-columns:26px minmax(0,1fr);
    gap:10px 12px;
    border-radius:18px;
  }
  .bzh .bj-services .bj-service-rows > .bj-service > .bj-service-body { gap:12px; }
  .bzh .bj-services .bj-service-rows > .bj-service .bj-service-body h3 { font-size:clamp(18px,5vw,23px); }
  .bzh .bj-services .bj-service-rows > .bj-service > a.bj-small-cta {
    grid-column:2;
    width:100%;
    min-width:0;
    justify-self:stretch;
    margin-block-start:7px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .bzh .bj-services .bj-service-rows > .bj-service,
  .bzh .bj-services .bj-service-rows > .bj-service > a.bj-small-cta {
    transition:none;
  }
}
