/* GRIGLIA PROGETTI > PRESENTAZIONE
 * Spazi ampi e gerarchia proporzionale, con ritagli senza deformazione.
 */
.awgp-gallery {
    --awgp-gap-x: clamp(28px, 4vw, 80px);
    --awgp-gap-y: clamp(64px, 7vw, 132px);
    --awgp-caption-size: 14px;
    --awgp-line2-size: 12px;
    --awgp-radius: 5px;
    display: flex;
    flex-direction: column;
    gap: var(--awgp-gap-y);
    width: 100%;
    min-width: 0;
}
.awgp-gallery .awgp-row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--awgp-gap-y) var(--awgp-gap-x); align-items: start; min-width: 0; }
.awgp-gallery .awgp-card { margin: 0; padding: 0; min-width: 0; border: 0; }
.awgp-gallery .awgp-span-3 { grid-column: span 3; }
.awgp-gallery .awgp-span-4 { grid-column: span 4; }
.awgp-gallery .awgp-span-5 { grid-column: span 5; }
.awgp-gallery .awgp-span-6 { grid-column: span 6; }
.awgp-gallery .awgp-span-7 { grid-column: span 7; }
.awgp-gallery .awgp-span-8 { grid-column: span 8; }
.awgp-gallery .awgp-span-12 { grid-column: 1 / -1; }
.awgp-gallery .awgp-frame-landscape { --awgp-ratio: 3 / 2; }
.awgp-gallery .awgp-frame-soft { --awgp-ratio: 4 / 3; }
.awgp-gallery .awgp-frame-square { --awgp-ratio: 1; }
.awgp-gallery .awgp-frame-portrait { --awgp-ratio: 4 / 5; }
.awgp-gallery .awgp-frame-panorama { --awgp-ratio: 2.2; }
.awgp-gallery .awgp-link { display: block; color: inherit; text-decoration: none; border-radius: var(--awgp-radius); }
.awgp-gallery .awgp-media { display: block; position: relative; width: 100%; aspect-ratio: var(--awgp-ratio, 3 / 2); max-height: none; border-radius: var(--awgp-radius); overflow: hidden; }
.awgp-gallery img.awgp-image { display: block; position: absolute; inset: 0; width: 100%; max-width: 100%; height: 100%; object-fit: cover; margin: 0; padding: 0; border: 0; border-radius: var(--awgp-radius); }
.awgp-gallery .awgp-caption { margin: 10px 0 0; padding: 0; font-family: inherit; font-size: var(--awgp-caption-size); font-weight: 400; line-height: 1.45; color: inherit; overflow-wrap: anywhere; }
.awgp-gallery .awgp-title { display: block; }
.awgp-gallery .awgp-line2 { display: block; margin-top: 4px; font-size: var(--awgp-line2-size); line-height: 1.5; }
.awgp-gallery .awgp-link:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.awgp-gallery .awgp-link:hover { opacity: .94; }

/* Varianti esplicite per gli shortcode già utilizzati. */
.awgp-gallery--uniformi .awgp-media { aspect-ratio: 3 / 2; }
.awgp-gallery--originali .awgp-media { aspect-ratio: auto; max-height: none; }
.awgp-gallery--originali img.awgp-image { position: static; height: auto; }
.awgp-gallery .awgp-focus-top img { object-position: center top; }
.awgp-gallery .awgp-focus-bottom img { object-position: center bottom; }
.awgp-gallery .awgp-focus-left img { object-position: left center; }
.awgp-gallery .awgp-focus-right img { object-position: right center; }
.awgp-gallery .awgp-focus-center img { object-position: center; }

/* Tablet: due colonne e spazio prioritario ai progetti importanti. */
@media (max-width: 980px) {
    .awgp-gallery { --awgp-gap-x: clamp(24px, 4vw, 40px); --awgp-gap-y: clamp(48px, 7vw, 68px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--awgp-gap-y) var(--awgp-gap-x); align-items: start; }
    .awgp-gallery .awgp-row { display: contents; }
    .awgp-gallery .awgp-card { grid-column: span 1; }
    .awgp-gallery .awgp-tablet-full { grid-column: 1 / -1; }
}

/* Smartphone: una colonna con verticali compatte. */
@media (max-width: 600px) {
    .awgp-gallery { --awgp-gap-y: 44px; grid-template-columns: minmax(0, 1fr); }
    .awgp-gallery .awgp-card { grid-column: 1 / -1; }
    .awgp-gallery .awgp-frame-portrait .awgp-media { max-height: 440px; }
    .awgp-gallery--originali .awgp-frame-portrait .awgp-media { max-height: none; }
}
