/*! VYBE Services */
.vybe-service-card .vybe-checklist--compact { gap: 6px; }
.vybe-service-card .vybe-checklist--compact li { font-size: .9rem; }
.vybe-service-overview { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(28px, 5vw, 64px); align-items: start; }
@media (max-width: 900px) { .vybe-service-overview { grid-template-columns: 1fr; } }
.vybe-service-includes { position: sticky; top: 100px; }
.vybe-service-includes:hover { transform: none; }
.vybe-plan__actions { display: grid; gap: 10px; }
.vybe-plan__cart { width: 100%; background: none; border: 0; padding: 6px; cursor: pointer; color: var(--vybe-primary); font: 600 .9rem var(--vybe-font); display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.vybe-plan__cart .vybe-icon { width: 18px; height: 18px; }
.vybe-plan__cart:hover { text-decoration: underline; text-underline-offset: 4px; }
.vybe-plan__cart.is-loading { opacity: .6; }
.vybe-plan.is-featured .vybe-plan__cart { color: #c7bfff; }
.vybe-plan--custom { background: linear-gradient(180deg, color-mix(in srgb, var(--vybe-accent) 7%, #fff), #fff); border-style: dashed; }
.vybe-pricing .vybe-tabs__panel { padding-top: 8px; }

/* 5 (or any odd count) cards: centre the last row */
.vybe-services-grid { display: flex; flex-wrap: wrap; justify-content: center; }
.vybe-services-grid > .vybe-card { flex: 0 1 calc((100% - (var(--cols, 3) - 1) * 24px) / var(--cols, 3)); }
@media (max-width: 1024px) { .vybe-services-grid > .vybe-card { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 640px) { .vybe-services-grid > .vybe-card { flex-basis: 100%; } }
