/* ISMed – Vetrina Homepage v1.4.0
   Layout editoriale alternato, responsive e accessibile. */
:root{--ismed-blue:#002F5F;--ismed-orange:#E9501D;--ismed-band:#F5F7F9}

.ismed-vetrina{position:relative;z-index:0;max-width:1480px;margin:0 auto;padding:50px 18px 40px;box-sizing:border-box;font-family:inherit;color:var(--ismed-blue)}
.ismed-vetrina:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:var(--ismed-band);pointer-events:none}
.ismed-vetrina__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}
.ismed-vetrina__head h3{position:relative;margin:0;padding-bottom:12px;font-size:clamp(1.55rem,2vw,2rem);font-weight:750;line-height:1.12;color:var(--ismed-blue)}
.ismed-vetrina__head h3:after{content:"";position:absolute;left:0;bottom:0;width:64px;height:4px;background:var(--ismed-orange);border-radius:4px}
.ismed-vetrina__all{font-weight:700;text-decoration:none;color:var(--ismed-blue);white-space:nowrap}
.ismed-vetrina__all:hover{color:var(--ismed-orange);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}
.ismed-vetrina__grid{display:flex;flex-direction:column;gap:22px}

.ismed-card{position:relative;display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);min-width:0;min-height:270px;overflow:hidden;background:#fff;border:1px solid #d7dfe6;border-radius:10px;box-shadow:0 3px 12px rgba(0,47,95,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ismed-card--reverse{grid-template-columns:minmax(0,54%) minmax(0,46%)}
.ismed-card--no-media,.ismed-card--reverse.ismed-card--no-media{grid-template-columns:minmax(0,1fr)}
.ismed-card--no-media .ismed-card__body,.ismed-card--reverse.ismed-card--no-media .ismed-card__body{order:1;min-height:220px}
.ismed-card:hover{transform:translateY(-2px);border-color:var(--ismed-orange);box-shadow:0 8px 22px rgba(0,47,95,.13)}
.ismed-card:focus-within{outline:3px solid var(--ismed-orange);outline-offset:3px}

.ismed-card__media{position:relative;display:block;min-height:270px;overflow:hidden;background:#e9f0f5}
.ismed-card--reverse .ismed-card__media{order:2}
.ismed-card--reverse .ismed-card__body{order:1}
.ismed-card__media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;display:block;transition:transform .22s ease}
.ismed-card:hover .ismed-card__media img{transform:scale(1.02)}

.ismed-card__placeholder{position:absolute;inset:0;overflow:hidden;display:flex;align-items:flex-end;padding:24px;box-sizing:border-box;background:linear-gradient(135deg,var(--ismed-blue) 0%,#002F5F 100%)}
.ismed-card__placeholder:before,.ismed-card__placeholder:after,.ismed-card__placeholder i,.ismed-card__placeholder b{content:"";position:absolute;border-radius:50%;border:2px solid rgba(255,255,255,.23)}
.ismed-card__placeholder:before{width:300px;height:300px;right:-100px;top:-180px}
.ismed-card__placeholder:after{width:210px;height:210px;right:-45px;top:-125px}
.ismed-card__placeholder i{width:360px;height:120px;left:-55px;bottom:-82px;border-width:10px;border-color:rgba(255,255,255,.16)}
.ismed-card__placeholder b{width:410px;height:135px;left:55px;bottom:-104px;border-width:9px;border-color:rgba(255,255,255,.11)}
.ismed-card__placeholder span{position:relative;z-index:2;color:#fff;font-size:1.22rem;font-weight:800;letter-spacing:.02em}

.ismed-card__body{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:28px 34px 30px}
.ismed-card__type{display:inline-block;margin:0 0 12px;padding:5px 10px;border-radius:4px;background:var(--ismed-orange);color:#fff;font-size:.75rem;font-weight:800;line-height:1.25;letter-spacing:.035em;text-transform:uppercase;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.ismed-card--progetto .ismed-card__type,.ismed-card--project .ismed-card__type{background:var(--ismed-orange)}
.ismed-card--pubblicazione .ismed-card__type,.ismed-card--publication .ismed-card__type{background:var(--ismed-blue)}
.ismed-card--evento .ismed-card__type,.ismed-card--event .ismed-card__type{background:#116b32}
.ismed-card--ricerca .ismed-card__type,.ismed-card--research .ismed-card__type{background:#6b287d}
.ismed-card--news .ismed-card__type{background:#3f4d57}

.ismed-card h3{margin:0 0 12px;font-size:clamp(1.22rem,1.55vw,1.55rem);line-height:1.24;color:var(--ismed-blue)}
.ismed-card__link{position:static;color:inherit;text-decoration:none}
.ismed-card__link:after{content:"";position:absolute;inset:0;z-index:2}
.ismed-card__link:focus{outline:none}
.ismed-card p{margin:0 0 18px;max-width:72ch;font-size:1rem;line-height:1.55;color:#465563}
.ismed-card__cta{margin-top:auto;display:inline-flex;align-items:center;gap:.35em;font-weight:800;color:var(--ismed-blue);text-decoration:none;transition:color .15s ease}
.ismed-card:hover .ismed-card__cta{color:var(--ismed-orange);text-decoration:underline;text-decoration-thickness:.07em;text-underline-offset:.18em}
.ismed-card__cta span{font-size:1.08em}

.ismed-card a:focus-visible,.ismed-vetrina__all:focus-visible{outline:3px solid var(--ismed-orange);outline-offset:4px;border-radius:2px}
.ismed-card__link:focus-visible{outline:none}
.ismed-card:focus-within .ismed-card__cta{color:var(--ismed-orange);text-decoration:underline;text-decoration-thickness:.07em;text-underline-offset:.18em}

@media(max-width:980px){
  .ismed-card,.ismed-card--reverse{grid-template-columns:minmax(0,44%) minmax(0,56%);min-height:250px}
  .ismed-card--no-media,.ismed-card--reverse.ismed-card--no-media{grid-template-columns:minmax(0,1fr)}
  .ismed-card__media{min-height:250px}
  .ismed-card__body{padding:24px 26px 26px}
}
@media(max-width:700px){
  .ismed-vetrina{padding:36px 16px 32px}
  .ismed-vetrina__head{align-items:flex-start;flex-direction:column;margin-bottom:20px}
  .ismed-vetrina__grid{gap:18px}
  .ismed-card,.ismed-card--reverse{display:flex;flex-direction:column;min-height:0}
  .ismed-card__media,.ismed-card--reverse .ismed-card__media{order:1;min-height:0;aspect-ratio:16/9}
  .ismed-card__body,.ismed-card--reverse .ismed-card__body{order:2;padding:22px 20px 23px}
  .ismed-card__media img{position:absolute}
  .ismed-vetrina__all{white-space:normal}
  .ismed-card h3{font-size:1.24rem}
  .ismed-card p{font-size:.98rem;line-height:1.52}
}
@media(prefers-reduced-motion:reduce){
  .ismed-card,.ismed-card__media img,.ismed-card__cta{transition:none}
  .ismed-card:hover{transform:none}
  .ismed-card:hover .ismed-card__media img{transform:none}
}

.ismed-vetrina--empty{padding:16px 20px;margin:20px auto;border:1px dashed #9aa7b5;background:#f7f9fb;max-width:1320px;box-sizing:border-box}
.ismed-vetrina--empty p{margin:0}

/* v1.4.1 – immagine predefinita senza scritte */
.ismed-card__default-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
