/* =========================================================
   BC SERVICE SIDEBAR v1.0 — final two-column sticky price sidebar
   Scope: service pages; active when JS detects real two-column layout.
   ========================================================= */

@media (min-width: 768px) {
  .bc-service-single.has-sticky-sidebar .bc-service-sidebar {
    position: static;
    align-self: stretch;
    overflow: visible;
  }

  .bc-service-single.has-sticky-sidebar .bc-service-sidebar-sticky {
    position: sticky;
    top: var(--bc-service-sticky-top, 140px);
    z-index: 2;
    display: flex;
    flex-direction: column;
    height: calc(100dvh - var(--bc-service-sticky-top, 140px) - 24px);
    max-height: calc(100dvh - var(--bc-service-sticky-top, 140px) - 24px);
    min-height: 0;
    overflow: hidden;
  }

  .bc-service-single.has-sticky-sidebar .bc-service-sidebar-sticky .bc-service-cta-desktop {
    flex: 0 0 auto;
    margin: 12px 0 16px;
  }

  .bc-service-single.has-sticky-sidebar .bc-service-sidebar-sticky .bc-service-cta {
    margin-top: 0;
  }

  .bc-service-single.has-sticky-sidebar .bc-service-price-sidebar {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    padding-right: 14px;
    scrollbar-width: thin;
    scrollbar-color: var(--bc-brown, #B0947E) rgba(176, 148, 126, 0.18);
  }

  .bc-service-single.has-sticky-sidebar .bc-service-price-sidebar::-webkit-scrollbar {
    width: 10px;
  }

  .bc-service-single.has-sticky-sidebar .bc-service-price-sidebar::-webkit-scrollbar-track {
    background: rgba(176, 148, 126, 0.18);
    border-radius: 999px;
  }

  .bc-service-single.has-sticky-sidebar .bc-service-price-sidebar::-webkit-scrollbar-thumb {
    background: var(--bc-brown, #B0947E);
    border-radius: 999px;
    border: 2px solid #F7F4EF;
    background-clip: padding-box;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .bc-service-single.has-sticky-sidebar {
    gap: clamp(36px, 5vw, 52px) !important;
  }

  .bc-service-single.has-sticky-sidebar .bc-service-sidebar {
    --bc-service-sticky-top: 72px;
    flex-basis: clamp(230px, 32vw, 280px) !important;
  }

  .bc-service-single.has-sticky-sidebar .bc-service-sidebar-sticky {
    height: calc(100dvh - var(--bc-service-sticky-top, 72px) - 16px);
    max-height: calc(100dvh - var(--bc-service-sticky-top, 72px) - 16px);
  }

  .bc-service-single.has-sticky-sidebar .bc-service-sidebar-sticky .bc-service-cta-desktop {
    margin: 8px 0 12px;
  }

  .bc-service-single.has-sticky-sidebar .bc-service-price-sidebar {
    position: relative !important;
    padding-right: 12px !important;
    scrollbar-width: auto !important;
    scrollbar-color: var(--bc-brown, #B0947E) rgba(176, 148, 126, 0.12) !important;
    scrollbar-gutter: stable !important;
    box-shadow: none !important;
  }

  .bc-service-single.has-sticky-sidebar .bc-service-price-sidebar::after {
    content: none !important;
    display: none !important;
  }

  .bc-service-single.has-sticky-sidebar .bc-service-price-sidebar::-webkit-scrollbar {
    width: 8px !important;
  }

  .bc-service-single.has-sticky-sidebar .bc-service-price-sidebar::-webkit-scrollbar-track {
    background: rgba(176, 148, 126, 0.12) !important;
    border-radius: 999px !important;
  }

  .bc-service-single.has-sticky-sidebar .bc-service-price-sidebar::-webkit-scrollbar-thumb {
    background: var(--bc-brown, #B0947E) !important;
    border-radius: 999px !important;
    border: 2px solid #F7F4EF !important;
    background-clip: padding-box !important;
    min-height: 42px !important;
  }

  .bc-service-single.has-sticky-sidebar .bc-service-section-accordion .bc-service-section-body {
    padding-left: 8px !important;
    padding-right: 0 !important;
  }

  .bc-service-single.has-sticky-sidebar .bc-service-accordion-header {
    grid-template-columns: 26px minmax(0, 1fr) !important;
    gap: 12px !important;
  }
}
