/* Sezione "Software, App & AI" in home: solo i dispositivi con le schermate vere, nome attaccato sotto */
#software-ai .sw-categoria { margin-top: 96px; }
#software-ai .sw-categoria:first-of-type { margin-top: 24px; }
#software-ai .work-category-label { margin-bottom: 28px; padding-top: 18px; border-top: 1px solid var(--border, rgba(37,36,34,.1)); padding-left: 0; margin-left: 48px; margin-right: 48px; }
.sw-griglia { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 56px 40px; padding: 0 48px; }
.sw-item { display: grid; grid-template-rows: 230px auto; gap: 14px; text-decoration: none; color: inherit; }
.sw-device { position: relative; display: grid; place-items: end center; }
.sw-nome { display: grid; gap: 4px; text-align: center; }
.sw-nome b { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 16px; font-weight: 700; letter-spacing: 0.02em; }
.sw-nome span { font-family: 'Space Mono', monospace; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; opacity: .55; }

.mini-mac, .mini-iphone { transition: transform .5s cubic-bezier(0.16,1,0.3,1); }
.mini-mac { width: 290px; }
.mini-mac .schermo { aspect-ratio: 16 / 10; padding: 6px 6px 9px; border-radius: 10px 10px 3px 3px; background: #0d0d0d; box-shadow: 0 0 0 1px #3a3a3a; }
.mini-mac .schermo img { width: 100%; height: 100%; object-fit: cover; object-position: top left; border-radius: 3px; display: block; }
.mini-mac .base { height: 9px; margin: 0 -20px; border-radius: 1px 1px 10px 10px; background: linear-gradient(#ece9e3, #a7a39b); box-shadow: 0 14px 24px -14px rgba(0,0,0,.5); }
.mini-iphone { width: 104px; padding: 5px; border-radius: 20px; background: linear-gradient(145deg, #5b5955, #1c1b1a 35%, #4d4b47); box-shadow: 0 0 0 1px #2a2a2a, 0 16px 26px -12px rgba(0,0,0,.5); }
.mini-iphone .vetro { position: relative; aspect-ratio: 390 / 844; border-radius: 15px; overflow: hidden; background: #000; }
.mini-iphone .vetro::before { content: ""; position: absolute; z-index: 1; top: 5px; left: 50%; translate: -50% 0; width: 30%; height: 8px; border-radius: 9px; background: #000; }
.mini-iphone img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.mini-iphone.girato { width: 280px; border-radius: 22px; }
.mini-iphone.girato .vetro { aspect-ratio: 844 / 390; border-radius: 17px; }
.mini-iphone.girato .vetro::before { top: 50%; left: 6px; translate: 0 -50%; width: 8px; height: 30%; }
/* computer + telefono: il telefono davanti, a destra */
.sw-device.entrambi .mini-mac { margin-right: 60px; }
.sw-device.entrambi .mini-iphone { position: absolute; right: calc(50% - 175px); bottom: -6px; width: 84px; }
.sw-item:hover .mini-mac, .sw-item:hover .sw-device:not(.entrambi) .mini-iphone { transform: translateY(-8px); }
.sw-item:hover .sw-device.entrambi .mini-iphone { transform: translateY(-14px) rotate(4deg); }
.sw-item:hover .sw-nome b { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 768px) {
  .sw-griglia { padding: 0 20px; grid-template-columns: 1fr; gap: 48px; }
  #software-ai .work-category-label { margin-left: 20px; margin-right: 20px; }
}
/* telefono girato (giochi) davanti al computer: resta largo e in basso a destra */
.sw-device.entrambi .mini-iphone.girato { width: 176px; right: calc(50% - 200px); bottom: -10px; border-radius: 16px; padding: 4px; }
.sw-device.entrambi .mini-iphone.girato .vetro { border-radius: 12px; }
#software-ai { padding-top: 0; }
#software-ai .sw-categoria:first-of-type { margin-top: 0; }
