/* ERROR 404 */
.main-error {width:100%; height:100dvh; padding:2em 3em; position:relative;}
.main-error::before {
content: '';
position: absolute;
inset: 0;
background:
    radial-gradient(ellipse at 50% 30%, rgba(196,160,78,0.05) 0%, transparent 60%),
    radial-gradient(ellipse at 0% 100%, rgba(40,25,10,0.8) 0%, transparent 60%),
    radial-gradient(ellipse at 100% 0%, rgba(35,20,10,0.5) 0%, transparent 60%);
pointer-events: none;
}
.wrap-error { width:auto; display:flex;flex-direction:column; justify-content: center; align-items: center;}
.error-img {width:90%;}
.error-message {font-size:50px; text-align:center; font-family: var(--sans);color: var(--cream); margin-top:40px;}
.btn-cta {
display: inline-block;
font-family: var(--sans);
font-size: 10px;
font-weight: 400;
letter-spacing: 5px;
text-transform: uppercase;
color: var(--gold);
padding: 18px 48px;
border: 1px solid var(--gold);
text-decoration: none;
transition: all 0.5s;
}

.btn-cta:hover {
background: var(--gold);
color: var(--bg-deep);
box-shadow: 0 0 40px rgba(196,160,78,0.2);
}
@media (max-width:980px) {.error-message {font-size:35px;}.error-img{width:100%;}}
@media (max-width:600px) {.error-message {font-size:20px;}}

/* Acquisizioni pubbliche */
.body-acq-pubb::after {
    content:'';
    position:fixed; inset:0;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
    pointer-events:none; z-index:9999;
  }

  .hero-pagint {
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 140px 48px 60px;
    max-width: 100%;
    position: relative;
    overflow: hidden;
    margin-top:70px;
  }

.hero-pagint::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('../img/galleria-background.webp') center/cover no-repeat;
    opacity: 0.15;
    filter: saturate(0.3);
  } 
 .hero-inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;   
  }

.breadcrumb {
    font-family: var(--sans);
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--text-faint);
    margin-bottom: 50px;
}
.breadcrumb a { color: var(--text-faint); text-decoration: none; }
.breadcrumb a:hover { color: var(--gold); }
.breadcrumb span { color: var(--text-faint); margin: 0 3px; }

.hero-pagint .tag {
    font-family: var(--sans);
    font-size: 14px;
    letter-spacing: 6px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 20px;
    margin-top:0;
}

.hero-pagint h1 {
    font-family: var(--serif);
    font-size: clamp(40px, 5.5vw, 62px);
    font-weight: 300;
    color: var(--cream);
    line-height: 1.1;
    margin-bottom: 20px;
}

.hero-pagint h1 em { color: var(--gold); font-style: italic; }

.hero-divider {
    display: flex; align-items: center; gap: 12px;
    margin-bottom: 24px;
}
.hero-divider .line { width: 40px; height: 1px; background: var(--gold); }
.hero-divider .dot { width: 4px; height: 4px; border-radius: 50%; background: var(--gold); }

.hero-pagint .lead {
    font-family: var(--serif);
    font-size: 19px;
    font-weight: 300;
    line-height: 1.8;
    color: var(--text-dim);
    max-width: 600px;
}  
  .catalog {
    max-width: 1200px;
    margin: 0 auto;    
    padding-inline:0;
  }

@media (max-width:1200px) {.catalog {padding-inline:68px}}
@media (max-width:900px) {  .hero-pagint { min-height:100%;  height:calc(70dvh - 130px); }}

  .institution-group {
    margin-bottom: 64px;    
  }

  .institution-group:last-child { margin-bottom: 0; }

  /* Institution header */
  .inst-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 0;
    padding: 24px 0;
    border-bottom: 2px solid var(--gold);
  }

  .inst-icon {
    width: 48px;
    height: 48px;
    border: 1px solid var(--gold);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .inst-icon i {
    font-size:20px;
    color: var(--gold);    
  }
  .inst-name {
    font-family: var(--serif);
    font-size: 26px;
    font-weight: 400;
    color: var(--cream);
    line-height: 1.2;
  }

  .inst-city {
    font-family: var(--sans);
    font-size: 14px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gold);
    margin-top: 4px;
  }
  .catalog-item {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 0;
    border-bottom: 1px solid var(--text-dim);
    transition: background 0.4s;
  }

  .catalog-item:hover {
    background: var(--gold-faint);
  }

  /* Left: artist */
  .cat-artist {
    padding: 28px 24px 28px 0;
    border-right: 1px solid rgba(196,160,78,0.06);
  }

  .cat-artist-name {
    font-family: var(--serif);
    font-size: 19px;
    font-weight: 400;
    color: var(--cream);
    line-height: 1.3;
    margin-bottom: 4px;
  }

  .cat-artist-life {
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 1px;
    color: var(--text-faint);
    line-height: 1.5;
  }

  /* Right: works */
  .cat-details {
    padding: 28px 0 28px 28px;
  }

  .cat-work {
    margin-bottom: 12px;
  }

  .cat-work:last-child { margin-bottom: 0; }

  .cat-work + .cat-work {
    padding-top: 12px;
    border-top: 1px dashed rgba(196,160,78,0.08);
  }

  .cat-title {
    font-family: var(--serif);
    font-size: 19px;
    font-weight: 300;
    font-style: italic;
    color: var(--gold-light);
    line-height: 1.4;
    margin-bottom: 4px;
  }

  .cat-date {
    font-style: normal;
    color: var(--gold);
    font-size: 14px;
  }

  .cat-medium {
    font-family: var(--sans);
    font-size: 16px;
    font-weight: 300;
    color: var(--text-dim);
    letter-spacing: 0.5px;
    line-height: 1.5;
  }
   .cat-note {
    font-family: var(--sans);
    font-size: 16px;
    font-weight: 300;
    font-style: italic;
    color: var(--text-dim);
    margin-top: 6px;
    line-height: 1.6;
  }
  
  @media (max-width: 900px) {
    .hero-pagint { padding: 120px 24px 48px; min-height: 40vh; }
    .catalog { padding: 36px 24px 60px; }
    .catalog-item { grid-template-columns: 1fr; }
    .cat-artist {
      padding: 20px 0 0 0;
      border-right: none;
    }
    .cat-details { padding: 8px 0 20px 0; }
    .inst-name { font-size: 22px; }
  }

  @media (max-width: 600px) {
    .hero-pagint { padding: 100px 16px 36px; }
    .hero-pagint h1 { font-size: 34px; }
    .catalog { padding: 24px 16px 48px; }
    .inst-header { gap: 14px; }
    .inst-icon { width: 40px; height: 40px; }
    .inst-name { font-size: 20px; }
  }  
