:root{--n:#061c3b;--b:#0757b8;--s:#35b8ff;--i:#eef8ff;--w:#fff;--ink:#10243e;--t:#40536b;--l:#d8e8f7}.tdc-gallery,.tdc-gallery *{box-sizing:border-box}.tdc-gallery{color:var(--ink);background:#fff}.tdc-hero{background:radial-gradient(circle at 82% 18%,rgba(53,184,255,.22),transparent 34%),linear-gradient(135deg,var(--n),var(--b));color:#fff;padding:clamp(54px,8vw,100px) 22px}.tdc-inner{width:min(1180px,100%);margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:800;color:var(--s);margin-bottom:12px}.eyebrow.dark{color:var(--b)}.tdc-hero h1{margin:0;max-width:850px;font-size:clamp(2.3rem,6vw,5rem);line-height:.98;letter-spacing:-.045em;color:#fff}.tdc-hero p{max-width:760px;font-size:1.15rem;line-height:1.6;color:rgba(255,255,255,.84)}#bib-form{max-width:620px;margin-top:30px;padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.09)}#bib-form label{display:block;font-weight:800;margin-bottom:8px}#bib-form>div{display:grid;grid-template-columns:1fr auto;gap:9px}#bib-form input{min-height:48px;border:0;border-radius:12px;padding:0 15px;font-size:1rem}#bib-form button,#more{min-height:48px;border:0;border-radius:12px;padding:0 22px;background:var(--s);color:var(--n);font-weight:900;cursor:pointer}#reset{display:block!important;min-height:auto!important;padding:10px 0 0!important;background:transparent!important;color:#fff!important;text-decoration:underline}.body{padding:54px 22px 80px}.head{display:flex;justify-content:space-between;align-items:end;gap:18px;border-bottom:1px solid var(--l);padding-bottom:24px}.head h2{margin:0;font-size:clamp(1.8rem,4vw,3rem)}.years,.filters{display:flex;flex-wrap:wrap;gap:9px}.years{margin-top:24px}.filters{margin:14px 0 28px}.year,.filter{min-height:40px;border:1px solid var(--l);border-radius:999px;background:#fff;color:var(--t);padding:0 15px;font-weight:800;cursor:pointer}.active{background:var(--n)!important;color:#fff!important;border-color:var(--n)!important}.grid{columns:4 240px;column-gap:14px}.photo{display:inline-block;width:100%;break-inside:avoid;margin:0 0 14px;border-radius:14px;overflow:hidden;background:var(--i);cursor:zoom-in;position:relative}.photo img{display:block;width:100%;height:auto}.meta{position:absolute;inset:auto 0 0;padding:28px 12px 10px;background:linear-gradient(transparent,rgba(6,28,59,.84));color:#fff;font-size:.76rem;opacity:0}.photo:hover .meta{opacity:1}.empty{padding:44px 20px;background:var(--i);border:1px solid var(--l);border-radius:18px;text-align:center}.more{text-align:center;margin-top:34px}#more{background:var(--b);color:#fff}.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:999999;background:rgba(6,28,59,.97);display:grid;place-items:center;padding:24px 64px 212px;overflow:hidden}.lightbox figure{margin:0;max-width:1180px;width:100%;height:calc(100vh - 250px);display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox img{display:block;max-width:100%;max-height:calc(100vh - 300px);width:auto;height:auto;border-radius:12px;box-shadow:0 18px 55px rgba(0,0,0,.28)}.lightbox figcaption{color:#fff;text-align:center;margin-top:9px;font-size:.9rem}.lightbox button{position:absolute;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer}.close{top:18px;right:18px;width:48px;height:48px;border-radius:50%;font-size:2rem}.prev,.next{top:50%;transform:translateY(-50%);width:48px;height:70px;border-radius:12px;font-size:2.8rem}.prev{left:16px}.next{right:16px}body.tdc-gallery-lock{overflow:hidden}

/* =========================================================
   TDC Gallery 1.3.5 – Azioni social ergonomiche
   Desktop: pannello laterale centrato verticalmente.
   Mobile/tablet: azioni principali in alto, mai fissate al bordo inferiore.
========================================================= */
@media (min-width: 981px){
  .lightbox{
    display:grid;
    place-items:center;
    padding:24px 82px;
    overflow:auto;
  }
  .lightbox figure{
    margin:0;
    width:min(1360px,calc(100vw - 164px));
    max-width:none;
    height:auto;
    max-height:calc(100vh - 48px);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(310px,360px);
    grid-template-rows:minmax(0,1fr) auto;
    column-gap:30px;
    row-gap:10px;
    align-items:center;
    justify-items:center;
  }
  .lightbox img{
    grid-column:1;
    grid-row:1;
    display:block;
    max-width:100%;
    max-height:calc(100vh - 100px);
    width:auto;
    height:auto;
    border-radius:12px;
    box-shadow:0 18px 55px rgba(0,0,0,.28);
  }
  .lightbox figcaption{
    grid-column:1;
    grid-row:2;
    width:100%;
    color:#fff;
    text-align:center;
    margin:0;
    font-size:.9rem;
  }
  .sharebar{
    grid-column:2;
    grid-row:1 / span 2;
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    align-self:center;
    justify-self:stretch;
    width:100%;
    max-width:360px;
    padding:22px 20px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:20px;
    background:rgba(6,28,59,.92);
    box-shadow:0 18px 50px rgba(0,0,0,.35);
    backdrop-filter:blur(14px);
  }
  .share-title{
    color:#fff;
    font-weight:900;
    text-align:left;
    font-size:1.06rem;
    line-height:1.3;
    margin-bottom:7px;
  }
  .share-copy{
    color:rgba(255,255,255,.82);
    text-align:left;
    font-size:.86rem;
    line-height:1.45;
    margin:0 0 16px;
  }
  .share-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
  }
  .share-actions-main{margin-bottom:9px}
  .share-actions button,.share-actions a{
    position:static!important;
    transform:none!important;
    width:100%!important;
    height:auto!important;
    min-height:46px;
    border:1px solid rgba(255,255,255,.24)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.1)!important;
    color:#fff!important;
    padding:10px 14px!important;
    font:inherit;
    font-size:.9rem!important;
    font-weight:850!important;
    text-decoration:none!important;
    line-height:1.2!important;
    display:inline-flex;
    align-items:center;
    gap:8px;
    justify-content:center;
    cursor:pointer;
    transition:transform .15s ease,background .15s ease,border-color .15s ease;
  }
  .share-actions button:hover,.share-actions a:hover{
    transform:translateY(-1px)!important;
    border-color:rgba(255,255,255,.48)!important;
  }
  .share-actions-main .share-primary{
    min-height:54px!important;
    background:var(--s)!important;
    color:var(--n)!important;
    border-color:var(--s)!important;
    font-size:1.02rem!important;
  }
  .share-actions-main .share-download{
    min-height:54px!important;
    background:#fff!important;
    color:var(--n)!important;
    border-color:#fff!important;
    font-size:1.02rem!important;
  }
  .share-actions-secondary{
    grid-template-columns:1fr 1fr;
  }
  .share-actions-secondary [data-share="copy"]{
    grid-column:1 / -1;
  }
  .share-feedback{
    min-height:1.1em;
    margin-top:10px;
    text-align:center;
    color:rgba(255,255,255,.84);
    font-size:.8rem;
  }
}

@media (max-width: 980px){
  .lightbox{
    display:block;
    padding:68px 14px 24px;
    overflow-y:auto;
    overflow-x:hidden;
  }
  .lightbox figure{
    margin:0 auto;
    width:min(100%,820px);
    max-width:none;
    height:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
  }
  .sharebar{
    order:-1;
    position:sticky!important;
    top:8px;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    z-index:1000002;
    width:100%;
    margin:0 0 12px;
    padding:10px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:16px;
    background:rgba(6,28,59,.96);
    box-shadow:0 12px 35px rgba(0,0,0,.32);
    backdrop-filter:blur(14px);
  }
  .share-title,.share-copy{display:none}
  .share-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}
  .share-actions-main{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
    margin-bottom:7px;
  }
  .share-actions button,.share-actions a{
    position:static!important;
    transform:none!important;
    width:auto!important;
    height:auto!important;
    min-height:40px;
    border:1px solid rgba(255,255,255,.24)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.1)!important;
    color:#fff!important;
    padding:8px 12px!important;
    font:inherit;
    font-size:.82rem!important;
    font-weight:850!important;
    text-decoration:none!important;
    line-height:1.2!important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    cursor:pointer;
  }
  .share-actions-main .share-primary,
  .share-actions-main .share-download{
    width:100%!important;
    min-height:50px!important;
    border-radius:12px!important;
    font-size:.96rem!important;
  }
  .share-actions-main .share-primary{
    background:var(--s)!important;
    color:var(--n)!important;
    border-color:var(--s)!important;
  }
  .share-actions-main .share-download{
    background:#fff!important;
    color:var(--n)!important;
    border-color:#fff!important;
  }
  .share-actions-secondary [data-share="whatsapp"]{
    background:#fff!important;
    color:var(--n)!important;
  }
  .share-feedback{
    min-height:0;
    margin-top:6px;
    text-align:center;
    color:rgba(255,255,255,.84);
    font-size:.76rem;
  }
  .lightbox img{
    display:block;
    max-width:100%;
    max-height:none;
    width:auto;
    height:auto;
    border-radius:12px;
    box-shadow:0 18px 55px rgba(0,0,0,.28);
  }
  .lightbox figcaption{
    color:#fff;
    text-align:center;
    margin-top:9px;
    font-size:.84rem;
  }
  .prev,.next{
    position:fixed!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:42px!important;
    height:60px!important;
  }
  .prev{left:5px!important}
  .next{right:5px!important}
  .close{
    position:fixed!important;
    top:10px!important;
    right:10px!important;
  }
}

@media (max-width: 720px){
  #bib-form>div{grid-template-columns:1fr}
  .head{align-items:flex-start;flex-direction:column}
  .grid{columns:2 140px;column-gap:8px}
  .photo{margin-bottom:8px}
  .meta{display:none}
  .lightbox{padding:62px 8px 18px}
  .sharebar{top:6px;border-radius:14px;padding:8px}
  .share-actions-secondary{gap:5px}
  .share-actions-secondary button{min-height:36px!important;padding:6px 9px!important;font-size:.76rem!important}
}
