/* Keep the next card in view and navigation beside each mobile carousel. */
.carousel-toolbar { display: none; }
@media (max-width: 950px) {
  .carousel-toolbar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; min-height: 76px; padding: 16px var(--screen-pad);
    border-top: 1px solid var(--line); background: #0b191d;
    scroll-snap-align: start;
  }
  .carousel-caption { min-width: 0; }
  .carousel-caption strong { display: block; font-size: 14px; color: var(--cream); }
  .carousel-navigation { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
  .carousel-arrow {
    display: none; align-items: center; justify-content: center;
    width: 44px; height: 44px; padding: 0; border: 1px solid #55f1e65c;
    border-radius: 50%; background: #10272a; color: var(--cyan);
    cursor: pointer;
  }
  .carousel-toolbar.is-ready .carousel-arrow { display: inline-flex; }
  .carousel-arrow svg { width: 20px; height: 20px; }
  .carousel-arrow:disabled { opacity: .35; cursor: default; }
  .carousel-arrow:focus-visible { outline: 2px solid var(--amber); outline-offset: 3px; }
  .carousel-position { text-align: center; min-width: 42px; }
  .carousel-count { display: block; font-size: 12px; color: #d2dedc; font-variant-numeric: tabular-nums; }
  .carousel-dots { display: flex; justify-content: center; gap: 4px; margin-top: 7px; }
  .carousel-dots i { width: 5px; height: 5px; border-radius: 50%; background: #526d70; }
  .carousel-dots i.is-active { background: var(--cyan); }
  .services .service-grid, .prices .price-grid {
    gap: 12px; padding-inline: 18px; scroll-padding-inline: 18px;
    scroll-snap-align: none;
  }
  .services .service-card, .services .service-card:last-child,
  .prices .price-card, .prices .price-card.accent {
    flex: 0 0 calc(100% - 24px); width: calc(100% - 24px);
    max-width: none; min-height: calc(var(--screen-height) - 76px);
    padding-inline: clamp(18px, 4vw, 30px);
    border: 1px solid var(--line); border-top-color: #55f1e650;
  }
  .service-grid:focus-visible, .price-grid:focus-visible {
    outline: 2px solid var(--amber); outline-offset: -2px;
  }
  .services .service-card.featured, .prices .price-card.accent { border-color: #55f1e650; }
  .services .service-card h3, .services .service-card.featured h3 {
    font-size: clamp(20px, 6.2vw, 34px);
  }
}
@media (max-width: 370px) {
  .carousel-toolbar { gap: 8px; padding-inline: 18px; }
  .carousel-navigation { gap: 4px; }
}
