/* portfolio — stili specifici di pagina, condivisi tra la versione
   italiana e quella tedesca. Estratti dal blocco <style> inline: erano
   duplicati identici in due file e non venivano mai messi in cache. */
/* ===== /portfolio — page-specific styles ===== */

/* Breadcrumb nav */
.breadcrumb-nav{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted);font-family:'JetBrains Mono',monospace;margin-bottom:24px;}
.breadcrumb-nav a{color:var(--muted);text-decoration:none;transition:color .2s;}
.breadcrumb-nav a:hover{color:var(--text);}
.breadcrumb-nav .sep{opacity:.35;}

/* Hero */
.port-hero{padding:140px 0 72px;text-align:center;position:relative;}
.port-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 45% at 50% 30%,rgba(26,111,232,.11) 0%,transparent 70%);pointer-events:none;}
.port-hero .breadcrumb-nav{justify-content:center;}
.port-hero h1{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;line-height:1.1;margin:20px 0 20px;}
.port-hero .hero-sub{font-size:1.05rem;color:var(--muted);max-width:540px;margin:0 auto 40px;line-height:1.75;}
.port-stats{display:flex;justify-content:center;gap:48px;flex-wrap:wrap;}
.port-stat-val{font-family:'Plus Jakarta Sans',sans-serif;font-size:2rem;font-weight:800;color:var(--text);display:block;}
.port-stat-lbl{font-size:.75rem;color:var(--muted);margin-top:3px;display:block;}

/* Filter bar */
.filter-section{padding:0 0 36px;}
.filter-bar{background:var(--bg2);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:20px 28px;display:flex;flex-wrap:nowrap;gap:18px 40px;align-items:center;}
.filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.filter-label{font-size:.68rem;font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);white-space:nowrap;min-width:52px;}
.flt-btn{background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--muted);padding:5px 15px;border-radius:100px;font-size:.83rem;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;line-height:1.4;}
.flt-btn:hover{border-color:rgba(46,154,245,.5);color:var(--text);}
.flt-btn.active{background:var(--blue1);border-color:var(--blue1);color:#fff;}

/* Grid */
.port-section{padding:0 0 88px;}
#portGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:26px;transition:opacity .18s ease;}
.no-res{display:none;text-align:center;padding:64px 0;color:var(--muted);grid-column:1/-1;}
.no-res strong{display:block;font-size:1rem;color:var(--text);margin-bottom:6px;}

/* Card */
.port-card{background:var(--bg2);border:1px solid rgba(255,255,255,.06);border-radius:16px;overflow:hidden;transition:transform .3s ease,border-color .3s ease;display:flex;flex-direction:column;}
.port-card:hover{transform:translateY(-5px);border-color:rgba(46,154,245,.28);}

/* Thumbnail */
.port-thumb{aspect-ratio:16/9;position:relative;overflow:hidden;background:var(--bg3);}
.port-chrome{position:absolute;top:0;left:0;right:0;height:22px;background:rgba(0,0,0,.5);display:flex;align-items:center;padding:0 10px;gap:5px;z-index:2;}
.port-chrome-dots{display:flex;gap:4px;}
.port-chrome-dots i{display:block;width:7px;height:7px;border-radius:50%;font-style:normal;}
.port-chrome-dots i:nth-child(1){background:#ff5f57;}
.port-chrome-dots i:nth-child(2){background:#febc2e;}
.port-chrome-dots i:nth-child(3){background:#28c840;}
.port-chrome-url{flex:1;text-align:center;font-size:9px;font-family:'JetBrains Mono',monospace;color:rgba(255,255,255,.28);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.port-canvas{position:absolute;inset:22px 0 0 0;display:flex;flex-direction:column;}
.port-canvas-hero{flex:2;display:flex;align-items:flex-end;padding:10px 12px;}
.port-canvas-hero-lines{width:55%;display:flex;flex-direction:column;gap:5px;}
.port-canvas-hero-lines span{display:block;border-radius:2px;background:rgba(255,255,255,.22);}
.port-canvas-hero-lines span:nth-child(1){height:9px;width:82%;}
.port-canvas-hero-lines span:nth-child(2){height:7px;width:58%;}
.port-canvas-hero-lines span:nth-child(3){height:16px;width:38%;border-radius:4px;margin-top:4px;background:rgba(255,255,255,.38);}
.port-canvas-body{flex:1;background:var(--bg3);display:flex;gap:6px;padding:8px 10px;align-items:flex-start;}
.port-canvas-col{flex:1;display:flex;flex-direction:column;gap:4px;}
.port-canvas-col span{display:block;border-radius:2px;background:rgba(255,255,255,.06);height:6px;}
.port-canvas-col span:nth-child(2){width:80%;}
.port-canvas-col span:nth-child(3){width:55%;}
.port-shot{position:absolute;inset:22px 0 0 0;width:100%;height:calc(100% - 22px);object-fit:cover;object-position:top center;display:block;}

/* Card body */
.port-body{padding:20px 22px 22px;flex:1;display:flex;flex-direction:column;}
.port-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.port-tag{font-size:.68rem;font-family:'JetBrains Mono',monospace;padding:2px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.08);color:var(--muted);}
.port-tag.sector{border-color:rgba(46,154,245,.3);color:var(--blue3);background:rgba(46,154,245,.08);}
.port-body h3{font-size:1.13rem;font-weight:700;margin:0 0 6px;color:var(--text);}
.port-desc{font-size:.875rem;color:var(--muted);line-height:1.65;margin-bottom:16px;flex:1;}
.port-kpis{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.05);}
.port-kpi-val{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.05rem;color:var(--green);display:block;}
.port-kpi-lbl{font-size:.68rem;color:var(--muted);margin-top:1px;display:block;}
.port-facts{display:flex;flex-direction:column;gap:9px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.05);}
.port-fact{font-size:.82rem;color:var(--muted);display:flex;align-items:center;gap:9px;line-height:1.4;}
.port-fact::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--green);flex-shrink:0;box-shadow:0 0 6px rgba(15,232,162,.5);}
.port-fact strong{color:var(--blue3);font-weight:600;}
.port-link{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--blue2);text-decoration:none;transition:gap .2s,color .2s;margin-top:auto;}
.port-link:hover{gap:10px;color:var(--blue3);}

/* Nav active */
.nav-active{color:var(--blue3) !important;}

/* Responsive */
@media(max-width:900px){.filter-bar{gap:14px 28px;}}
@media(max-width:820px){.filter-bar{flex-wrap:wrap;}}
@media(max-width:640px){
  .port-hero{padding:120px 0 56px;}
  .filter-bar{padding:16px 18px;}
  #portGrid{grid-template-columns:1fr;gap:20px;}
  .port-stats{gap:28px;}
  .filter-label{min-width:auto;}
}
