/* BAZAR Editorial Card System — additive; original theme files are unchanged. */
.bzh {
  --bzc-navy: var(--bz14-ink, #0d263a);
  --bzc-copper: var(--bz14-copper, #a1543b);
  --bzc-ink-muted: #586b78;
  --bzc-line: #d5e0e6;
  --bzc-shadow: 0 14px 40px rgba(13,38,58,.085);
  --bzc-shadow-hover: 0 19px 45px rgba(13,38,58,.14);
}
/* For picture cards, reproduce the existing service-featured visual language. */
.bzh .bz13-card.bzc-photo:not(.bz13-card--compact):not(.bz13-card--client) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  isolation: isolate;
  transform: none;
  transition: none;
}
.bzh .bz13-card.bzc-photo:not(.bz13-card--compact):not(.bz13-card--client) > .bz13-card__media {
  display:block;
  flex: 0 0 auto;
  width: 88%;
  height: clamp(175px, 17.5vw, 240px);
  margin: 0;
  margin-inline-start: 0;
  aspect-ratio: auto;
  border: 0;
  border-radius: 22px 22px 12px 22px;
  background: #e6eaed;
  overflow: hidden;
}
.bzh .bz13-card.bzc-photo:not(.bz13-card--compact):not(.bz13-card--client) .bz13-card__media img {
  display: block;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.bzh a.bz13-card.bzc-photo:hover .bz13-card__media img{transform:scale(1.025)}
.bzh .bz13-card.bzc-photo:not(.bz13-card--compact):not(.bz13-card--client) > .bz13-card__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  gap: 11px;
  min-width: 0;
  min-height: 222px;
  width: 92%;
  margin: -37px 0 0;
  margin-inline-start: auto;
  padding: clamp(19px, 2.1vw, 27px);
  border: 1px solid var(--bzc-line);
  border-radius: 22px 12px 40px 14px;
  background: #fff;
  box-shadow: var(--bzc-shadow);
  color: var(--bzc-navy);
  transition: box-shadow .25s ease, border-color .25s ease;
}
.bzh a.bz13-card.bzc-photo:hover > .bz13-card__content,
.bzh a.bz13-card.bzc-photo:focus-visible > .bz13-card__content {
  border-color: #b9cbd4;
  box-shadow: var(--bzc-shadow-hover);
}
.bzh .bz13-card.bzc-photo .bz13-card__top {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 7px 12px;
}
.bzh .bz13-card.bzc-photo .bz13-card__eyebrow {color:var(--bzc-copper)}
.bzh .bz13-card.bzc-photo .bz13-card__title {
  color:var(--bzc-navy); font-size:clamp(19px,1.75vw,25px); line-height:1.6;
  font-weight:700; overflow-wrap:anywhere;
}
.bzh .bz13-card.bzc-photo .bz13-card__summary {
  color:var(--bzc-ink-muted); line-height:2; font-size:clamp(13px,1vw,15px);
}
.bzh .bz13-card.bzc-photo .bz13-card__action {
  margin-top:auto; padding-top:13px; border-top:1px solid var(--bzc-line);
  color:var(--bzc-copper); font-size:13px;
}
/* Logo cards: matching silhouette, but no object-fit cover for brand marks. */
.bzh .bz13-card--client.bzc-logo {
  display:flex; flex-direction:column; min-height:0; height:100%;
  border:0; border-radius:0; box-shadow:none; background:transparent;
  overflow:visible; transform:none; transition:none;
}
.bzh .bz13-card--client.bzc-logo > .bz13-card__logo {
  display:flex; align-items:center; justify-content:center;
  width:88%; height:142px; min-height:142px;
  margin:0; padding:20px;
  background:#f2f5f6; border:1px solid #e6ebee; border-radius:20px 20px 10px 20px;
  overflow:hidden;
}
.bzh .bz13-card--client.bzc-logo .bz13-card__logo img {
  width:100%; height:100%; max-height:100px; object-fit:contain; filter:none;
}
.bzh .bz13-card--client.bzc-logo > .bz13-card__content {
  flex:1 0 auto; z-index:1; position:relative; width:92%; min-height:138px;
  margin:-23px 0 0; margin-inline-start:auto;
  padding:17px 19px 20px;
  background:#fff; border:1px solid var(--bzc-line);
  border-radius:20px 10px 32px 13px; box-shadow:var(--bzc-shadow);
}
/* Cards without photos stay useful, not blank photo frames. */
.bzh .bz13-card:not(.bzc-photo):not(.bzc-logo):not(.bz13-card--compact) {
  background:#fff; border:1px solid var(--bzc-line); border-radius:20px 12px 34px 14px;
  box-shadow:0 8px 25px rgba(13,38,58,.05);
}
.bzh a.bz13-card:focus-visible{outline:3px solid var(--bzc-copper);outline-offset:4px}
/* Respect navigation/menu mini cards rather than manufacturing unnecessary imagery. */
.bzh .bz13-card--compact{border-radius:16px;background:#fff}
/* Visually coherent spacing while keeping desktop as grids. */
.bzh .bz13-grid, .bzh .b10-segment-grid, .bzh .bj-domain-nav {
  align-items:stretch;
}
.bzh .bz13-grid > .bz13-card, .bzh .b10-segment-grid > .bz13-card {min-width:0}
/* Any overflow rail is explicitly opted into by JS after element-count verification. */
@media (max-width: 1100px) {
  .bzh .bzc-rail.bz13-grid,
  .bzh .bzc-rail.b10-segment-grid,
  .bzh .bzc-rail.bj-domain-nav {
    display:grid !important;
    grid-template-columns:none !important;
    grid-auto-flow:column;
    grid-auto-columns:minmax(245px,min(78vw,338px));
    gap:16px !important;
    width:100%; max-width:100%;
    overflow-x:auto; overflow-y:hidden;
    padding:7px 5px 30px;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:5px;
    scroll-behavior:smooth;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:#c6d3db transparent;
    justify-content:unset;
    border:0;
  }
  .bzh .bzc-rail > * {
    width:auto !important; min-width:0; max-width:none !important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    grid-column:auto !important;
    justify-self:stretch !important;
  }
  .bzh .bzc-rail > .bz13-card {height:100%;}
  .bzh .bzc-controls {display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:4px;direction:rtl;}
  .bzh .bzc-controls .bzc-counter {font-size:12px;direction:ltr;unicode-bidi:isolate;color:var(--bzc-ink-muted);margin-inline-start:6px;font-variant-numeric:tabular-nums;}
  .bzh .bzc-controls button {
    display:inline-flex;align-items:center;justify-content:center;
    width:38px;height:38px;border-radius:50%;
    border:1px solid var(--bzc-line);background:#fff;color:var(--bzc-navy);
    font-size:19px;line-height:1;cursor:pointer;transition:background .2s ease,border-color .2s ease;
  }
  .bzh .bzc-controls button:hover:not(:disabled){background:#eef2f4;border-color:#b1c5cf}
  .bzh .bzc-controls button:focus-visible{outline:2px solid var(--bzc-copper);outline-offset:3px}
  .bzh .bzc-controls button:disabled{opacity:.38;cursor:default}
}
@media (max-width: 600px) {
  .bzh .bzc-rail.bz13-grid,
  .bzh .bzc-rail.b10-segment-grid,
  .bzh .bzc-rail.bj-domain-nav {
    grid-auto-columns:minmax(238px,min(78vw,320px));
    gap:13px !important;
  }
  .bzh .bz13-card.bzc-photo:not(.bz13-card--compact):not(.bz13-card--client) > .bz13-card__media {
    height:185px;width:87%;border-radius:19px 19px 10px 19px;
  }
  .bzh .bz13-card.bzc-photo:not(.bz13-card--compact):not(.bz13-card--client) > .bz13-card__content {
    width:92%;min-height:230px;margin-top:-30px;padding:20px 20px 22px;
    border-radius:20px 11px 34px 13px;
  }
  .bzh .bz13-card.bzc-photo .bz13-card__title {font-size:20px;line-height:1.55}
  .bzh .bz13-card.bzc-photo .bz13-card__summary {font-size:13px;line-height:1.95}
  .bzh .bz13-card--client.bzc-logo > .bz13-card__logo {height:125px;min-height:125px}
}
@media (min-width: 1101px) { .bzh .bzc-controls{display:none} }
@media (prefers-reduced-motion:reduce) {
  .bzh .bzc-rail{scroll-behavior:auto}
  .bzh .bz13-card,.bzh .bz13-card * {transition:none!important;animation:none!important}
}
/* Hidden attribute wins over the responsive display declaration. */
.bzh .bzc-controls[hidden] {display:none!important}

/* Four featured service cards should not leave an orphan card on wide desktop. */
@media (min-width: 1101px) {
  .bzh .bz13-grid--service:has(> .bz13-card:nth-child(4):last-child) {
    grid-template-columns: repeat(4,minmax(0,1fr));
  }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .bzh .bz13-grid--service:has(> .bz13-card:nth-child(4):last-child):not(.bzc-rail) {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
