/* Icônes SVG locales; transitions sans jQuery, Isotope ou bibliothèque externe. */
.koma-portfolio-grid{position:relative;align-content:start}
.koma-project-exit{overflow:hidden;background:#ddd;z-index:2}
.koma-portfolio .koma-project-actions{align-items:center;gap:10px}
.koma-portfolio .koma-project-actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:0;transition:background .25s,transform .25s}
.koma-portfolio .koma-action-icon{display:block;width:20px;height:20px;flex:none}
.koma-portfolio.koma-buttons-text .koma-action-icon{display:none}
.koma-portfolio.koma-buttons-icons .koma-action-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.koma-portfolio.koma-buttons-icons .koma-project-actions a{width:48px;height:48px;min-height:48px;border:0;border-radius:50%;padding:0;background:var(--koma-filter-color,#f07400);color:#fff}
.koma-portfolio.koma-buttons-icons .koma-project-actions a:hover{background:#333;transform:scale(1.08)}
.koma-portfolio.koma-buttons-icons .koma-action-icon{width:22px;height:22px}
.koma-portfolio.koma-buttons-icons .koma-project-caption{background:rgba(0,0,0,.28)}
[data-koma-team-portrait]{position:relative}
.koma-team-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.08);opacity:0;pointer-events:none;transition:opacity .45s ease}
.koma-team-overlay::before{content:'';position:absolute;width:min(42%,185px);aspect-ratio:1;border:2px solid #fff;transform:rotate(45deg) scale(.8);transition:transform .45s ease;pointer-events:none}
.koma-team-links{position:relative;display:grid;grid-template-columns:repeat(2,44px);gap:8px;transform:translateY(16px);transition:transform .45s ease}
.koma-team-links.koma-team-count-1{grid-template-columns:44px}
.koma-team-links.koma-team-count-5,.koma-team-links.koma-team-count-6,.koma-team-links.koma-team-count-7{grid-template-columns:repeat(3,44px)}
.koma-team-links a{display:grid;place-items:center;width:44px;height:44px;color:#fff;text-decoration:none;border-radius:50%;transition:background .2s,transform .2s}
.koma-team-links svg{width:28px;height:28px}
.koma-team-links a:hover{background:rgba(0,0,0,.3);transform:scale(1.1)}
.koma-team-links a:focus-visible{outline:2px solid #fff;outline-offset:2px;background:rgba(0,0,0,.35)}
[data-koma-team-portrait]:hover .koma-team-overlay,[data-koma-team-portrait]:focus-within .koma-team-overlay{opacity:1;pointer-events:auto}
[data-koma-team-portrait]:hover .koma-team-overlay::before,[data-koma-team-portrait]:focus-within .koma-team-overlay::before{transform:rotate(45deg) scale(1)}
[data-koma-team-portrait]:hover .koma-team-links,[data-koma-team-portrait]:focus-within .koma-team-links{transform:none}
.koma-portrait-dialog{padding:44px 0 0;background:#111;border:0;max-width:94vw;max-height:94vh;overflow:visible;color:#fff}
.koma-portrait-dialog::backdrop{background:rgba(0,0,0,.88)}
.koma-portrait-dialog img{display:block;max-width:90vw;max-height:calc(90vh - 44px);width:auto;height:auto;object-fit:contain}
.koma-portrait-close{position:absolute;right:0;top:0;width:44px;height:44px;border:0;background:none;color:#fff;font-size:32px;cursor:pointer}
@media(hover:none){
 .koma-team-overlay{position:static;opacity:1;pointer-events:auto;background:none;padding-top:12px}
 .koma-team-overlay::before{display:none}
 .koma-team-links{display:flex;flex-wrap:wrap;justify-content:center;transform:none}
 .koma-team-links a{color:var(--koma-text-color,#666)}
 .koma-portfolio.koma-buttons-icons .koma-project-caption{background:#fff}
}
@media(prefers-reduced-motion:reduce){.koma-team-overlay,.koma-team-overlay::before,.koma-team-links,.koma-team-links a,.koma-portfolio .koma-project-actions a{transition:none;transform:none}.koma-team-overlay::before{transform:rotate(45deg)}}
