/* Scrollbar personalizzata per contenuto servizi espandibili */
.service-content-inner.service-scrollable {
    max-height: 1200px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 12px; /* Spazio per la scrollbar interna */
    box-sizing: content-box;
}

/* Limita altezza del blocco espanso per forzare lo scroll interno */
.service-item.expanded .service-content { max-height: 70vh !important; overflow: hidden; position: relative; }
.service-item.expanded .service-content-inner.service-scrollable { max-height: calc(70vh - 80px) !important; }
@media (max-height: 750px) {
    .service-item.expanded .service-content { max-height: 60vh !important; }
    .service-item.expanded .service-content-inner.service-scrollable { max-height: calc(60vh - 70px) !important; }
}
@media (max-width: 768px) {
    .service-item.expanded .service-content { max-height: 65vh !important; }
    .service-item.expanded .service-content-inner.service-scrollable { max-height: calc(65vh - 70px) !important; }
}

/* Webkit Scrollbar per card - usa il colore della card */
.service-item .service-content-inner.service-scrollable::-webkit-scrollbar { width: 12px; }
.service-item .service-content-inner.service-scrollable::-webkit-scrollbar-track {
    background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, color-mix(in srgb, var(--card-bg-color, var(--st-primary, #00ff9d)) 15%, black 85%) 100%);
    border-radius: 6px;
    border: 1px solid color-mix(in srgb, var(--card-bg-color, var(--st-primary, #00ff9d)) 35%, black 65%);
    box-shadow: inset 0 0 4px rgba(0,0,0,0.5);
}
.service-item .service-content-inner.service-scrollable::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--card-bg-color, var(--st-primary, #00ff9d)) 0%, color-mix(in srgb, var(--card-bg-color, var(--st-primary, #00ff9d)) 70%, black 30%) 100%);
    border-radius: 6px;
    border: 1px solid color-mix(in srgb, var(--card-bg-color, var(--st-primary, #00ff9d)) 55%, white 45%);
    min-height: 24px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.55);
    position: relative;
}
.service-item .service-content-inner.service-scrollable::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, color-mix(in srgb, var(--card-bg-color, var(--st-primary, #00ff9d)) 85%, white 15%) 0%, color-mix(in srgb, var(--card-bg-color, var(--st-primary, #00ff9d)) 55%, black 45%) 100%);
    box-shadow: 0 0 10px color-mix(in srgb, var(--card-bg-color, var(--st-primary, #00ff9d)) 65%, white 35%);
}

/* Firefox per-card */
.service-item .service-content-inner.service-scrollable { scrollbar-width: thin; scrollbar-color: var(--card-bg-color, var(--st-primary, #00ff9d)) rgba(0,0,0,0.35); }

/* Smooth scrolling */
.service-item .service-content-inner.service-scrollable { scroll-behavior: smooth; }

/* Indicatore fade fondo */
.service-content::after {
    content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 24px;
    background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.35));
    pointer-events: none; opacity: 0; transition: opacity .3s ease; z-index: 2;
}
.service-content.has-scroll::after { opacity: 1; }

/* Mobile tweaks */
@media (max-width: 768px) {
    .service-item .service-content-inner.service-scrollable { padding-right: 10px; }
    .service-item .service-content-inner.service-scrollable::-webkit-scrollbar { width: 10px; }
}

/* iOS momentum */
.service-item .service-content-inner.service-scrollable { -webkit-overflow-scrolling: touch; }