/* Beacon Capital - Insights real-photo slider. Scoped to .bc-slider.
   Dark Stone contract: gold accent, hairlines, radius 4/2px, no shadows. */
.bc-slider {
  --bc-slider-ratio: 3 / 2;
  position: relative;
  margin: var(--bc-md, 28px) 0 0;
  max-width: 100%;
  background: var(--bc-surface-alt, #111414);
  border: 1px solid var(--bc-hair, rgba(209,170,109,.18));
  border-radius: 4px;
  overflow: hidden;
}
.bc-slider:focus-within { outline: 1px solid var(--bc-hair-bright, rgba(209,170,109,.45)); outline-offset: 2px; }
.bc-slider__viewport { display: grid; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.bc-slider .bc-slide {
  grid-area: 1 / 1;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .6s ease, visibility 0s linear .6s;
  min-width: 0;
}
.bc-slider .bc-slide.is-active { opacity: 1; visibility: visible; transition: opacity .6s ease, visibility 0s; }
.bc-slider:not(.is-ready) .bc-slide:first-child { opacity: 1; visibility: visible; }
.bc-slide__media {
  aspect-ratio: var(--bc-slider-ratio);
  width: 100%;
  background: #0b0d0d;
  overflow: hidden;
}
.bc-slider .bc-slide__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  border-radius: 0;
  max-width: none;
}
.bc-slider .bc-slide[data-fit="contain"] .bc-slide__media img { object-fit: contain; }
.bc-slider .bc-slide[data-fit="native"] .bc-slide__media { display: flex; align-items: center; justify-content: center; }
.bc-slider .bc-slide[data-fit="native"] .bc-slide__media img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.bc-slider .bc-slide__cap {
  padding: 12px var(--bc-sm, 16px) 14px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--bc-ink-muted, #9E9A91);
  border-top: 1px solid var(--bc-hair, rgba(209,170,109,.18));
}
.bc-slide__cap strong { color: var(--bc-ink, #F3EFE7); font-weight: 600; }
.bc-slider__controls {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 var(--bc-sm, 16px) 14px;
  flex-wrap: wrap;
}
.bc-slider__btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background: transparent;
  color: var(--bc-ink, #F3EFE7);
  border: 1px solid var(--bc-hair-bright, rgba(209,170,109,.45));
  border-radius: 2px;
  cursor: pointer;
  line-height: 1;
}
.bc-slider__btn:hover { border-color: var(--bc-accent, #D1AA6D); color: var(--bc-accent, #D1AA6D); }
.bc-slider__btn:focus-visible, .bc-slider__dot:focus-visible { outline: 2px solid var(--bc-accent, #D1AA6D); outline-offset: 2px; }
.bc-slider__btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.bc-slider__toggle .i-play { display: none; }
.bc-slider:not(.is-playing) .bc-slider__toggle .i-play { display: block; }
.bc-slider:not(.is-playing) .bc-slider__toggle .i-pause { display: none; }
.bc-slider .bc-slider__dots { display: flex; gap: 6px; margin: 0 auto; padding: 0; list-style: none; }
.bc-slider .bc-slider__dots li { margin: 0; }
.bc-slider__dot {
  appearance: none;
  width: 28px;
  height: 28px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  position: relative;
}
.bc-slider__dot::after {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: 8px; height: 8px;
  margin: -4px 0 0 -4px;
  border-radius: 50%;
  border: 1px solid var(--bc-accent, #D1AA6D);
}
.bc-slider__dot[aria-current="true"]::after { background: var(--bc-accent, #D1AA6D); }
.bc-slider.is-single .bc-slider__controls { display: none; }
.bc-slider__status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bc-slider__note { margin: 0; padding: 0 var(--bc-sm, 16px) 14px; font-size: 12px; color: var(--bc-ink-muted, #9E9A91); }
@media (max-width: 600px) {
  .bc-slider { --bc-slider-ratio: 4 / 3; }
  .bc-slider .bc-slide__cap { font-size: 13px; }
  /* narrow screens: dots get their own centred row, buttons sit below (no wrapping mid-row) */
  .bc-slider .bc-slider__dots { order: -1; flex: 0 0 100%; justify-content: center; }
  .bc-slider .bc-slider__prev { margin-right: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .bc-slider .bc-slide, .bc-slider .bc-slide.is-active { transition: none; }
}
