.certs{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;perspective:1200px}.cert{--mx:50%;--my:50%;--rx:0deg;--ry:0deg;position:relative;min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--surface2);overflow:hidden;box-shadow:0 7px 19px rgba(100,75,160,.06);transition:.35s transform,.2s box-shadow,.2s border-color;cursor:pointer;transform:perspective(700px) rotateX(var(--ry)) rotateY(var(--rx))}.cert:hover{transform:perspective(700px) rotateX(var(--ry)) rotateY(var(--rx)) translateY(-4px);border-color:#c7aff3;box-shadow:0 15px 28px rgba(100,75,160,.13)}.cert:focus-visible{outline:2px solid #8d68df;outline-offset:2px}
.cert:before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;transition:opacity .25s;mix-blend-mode:color-dodge;background:conic-gradient(from 90deg at var(--mx) var(--my),rgba(255,90,190,.4),rgba(130,90,255,.4),rgba(90,190,255,.4),rgba(255,220,90,.4),rgba(255,90,190,.4))}
.cert:after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;transition:opacity .25s;mix-blend-mode:overlay;background:radial-gradient(160px 160px at var(--mx) var(--my),rgba(255,255,255,.65),transparent 60%)}
.cert:hover:before{opacity:.5}.cert:hover:after{opacity:.9}
.cert:hover .cert-arrow{transform:translateX(3px)}
.cert-img{height:132px;margin:8px 8px 0;border-radius:11px;overflow:hidden;display:grid;place-items:center;position:relative;background:linear-gradient(135deg,#eadcff,#fff2f8 52%,#dcecff);border:1px solid #d7c5f3}.cert-img img{width:100%;height:100%;object-fit:cover}.placeholder:before{content:"";position:absolute;width:75%;height:72%;background:#fffdf9;border:3px solid #d6bce8;box-shadow:0 4px 10px rgba(80,50,110,.1);transform:rotate(-3deg)}.placeholder:after{content:"✦  PROFESSOR  ✦";position:absolute;z-index:1;font-size:9px;font-weight:950;color:#72549e;letter-spacing:.7px}
.img-error{background:linear-gradient(135deg,#f3e9e9,#fff2f2 52%,#f3e9e9)}.img-error:before{content:"";position:absolute;width:75%;height:72%;background:#fffdf9;border:3px dashed #d9a8a8;transform:rotate(-3deg)}.img-error:after{content:"⚠  IMMAGINE NON DISPONIBILE";position:absolute;z-index:1;font-size:8px;font-weight:950;color:#a5605f;letter-spacing:.4px;text-align:center;width:70%}.cert-label{display:inline-flex;align-items:center;gap:4px;position:absolute;left:8px;top:8px;z-index:3;padding:4px 7px;border-radius:99px;background:#c8f0df;color:#24775c;font-size:8px;font-weight:950;border:1px solid #b4e4d1}.cert-label .pokeball-dot{width:9px;height:9px;flex:none}.cert-body{padding:10px 11px 12px}.certname{font-size:11px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-display)}.certdate{margin-top:7px;color:var(--soft);font-size:8px}.certdesc{margin-top:7px;padding-right:26px;color:var(--muted);font-size:9px;line-height:1.4}.cert-arrow{position:absolute;right:9px;bottom:9px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e9d9ff;color:#825dd0;font-weight:900;transition:.25s transform;z-index:2}
.instagram{position:relative;overflow:hidden;margin-top:20px;min-height:72px;padding:13px 18px;border-radius:15px;border:1px solid #dfc9f3;display:flex;align-items:center;justify-content:space-between;background:radial-gradient(180px 80px at 90% 50%,rgba(174,132,238,.35),transparent 70%),linear-gradient(100deg,#e6c8ff,#f7cbe8 50%,#ddd0ff,#e6c8ff);background-size:100% 100%,220% 100%;animation:ig-shimmer 7s ease-in-out infinite alternate;transition:.25s transform,.25s border-color,.25s box-shadow}
.instagram:hover{transform:translateY(-2px);border-color:#c79ff0;box-shadow:0 12px 26px rgba(120,85,190,.16)}
@keyframes ig-shimmer{0%{background-position:0 0,0% 0}100%{background-position:0 0,100% 0}}
.instagram:after{content:"";position:absolute;top:0;left:-70%;width:35%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:ig-sweep 5.5s ease-in-out infinite}
@keyframes ig-sweep{0%,55%{left:-70%}100%{left:130%}}
.instagram-left{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.ig-icon{position:relative;z-index:1;width:43px;height:43px;border-radius:14px;display:grid;place-items:center;color:#fff;font-size:22px;background:linear-gradient(145deg,#f3b5da,#8f68e5);transition:.25s transform}.instagram:hover .ig-icon{transform:rotate(-6deg) scale(1.06)}.instagram strong{position:relative;z-index:1;font-size:12px}.instagram span{position:relative;z-index:1;display:block;margin-top:2px;color:#766b95;font-size:9px}.igbtn{position:relative;z-index:1;display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid rgba(124,86,190,.18);border-radius:10px;background:rgba(255,255,255,.68);color:#7252bd;text-decoration:none;font-size:9px;font-weight:900;transition:.2s transform,.2s background}.instagram:hover .igbtn{background:#fff;transform:translateX(2px)}
@media(prefers-reduced-motion:reduce){.instagram,.instagram:after{animation:none!important}}

/* Stato "in rinnovo": stessa forma dell'etichetta attiva, colori d'attesa. */
.cert-label-rinnovo{background:#fdeccd;color:#8a6118;border-color:#f3dcb0}
