*{box-sizing:border-box}
html,body{margin:0;background:#111;color:#eee;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:inherit}
button{font:inherit}
.dzg-head{padding:28px 16px 18px;text-align:center}
.dzg-logo-row{display:flex;align-items:center;justify-content:center;gap:14px}
.dzg-brand{display:block;line-height:0}
.dzg-brand img{height:48px;width:auto}
.dzg-ig{display:inline-flex;color:#ddd;opacity:.85}
.dzg-ig:hover{opacity:1;color:#fff}
.dzg-ig svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8}
.dzg-ig svg .dot{fill:currentColor;stroke:none}
/* Parte superiore fissa su desktop */
.dzg-top{background:#111}
@media (min-width:761px){
  .dzg-top{position:sticky;top:0;z-index:5;box-shadow:0 6px 14px rgba(0,0,0,.45)}
  .dzg-head{padding:14px 16px 8px}
  .dzg-head h1{margin:6px 0 2px}
  .dzg-picked-list{max-height:3.2em;overflow-y:auto}
  /* Linguetta: nasconde titolo, descrizione e conteggio (resta la riga del logo, scelte e filtri) */
  .dzg-tab{position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);width:56px;height:22px;border:0;border-radius:0 0 10px 10px;background:#111;color:#aaa;cursor:pointer;box-shadow:0 6px 10px rgba(0,0,0,.4);font-size:11px;line-height:22px}
  .dzg-tab:hover{color:#fff}
  .dzg-top.is-collapsed .dzg-head h1,.dzg-top.is-collapsed .dzg-desc,.dzg-top.is-collapsed .dzg-head>p{display:none}
  .dzg-top.is-collapsed .dzg-tab span{display:inline-block;transform:rotate(180deg)}
}
.dzg-tab{display:none}
@media (min-width:761px){.dzg-tab{display:block}}
.dzg-head h1{margin:10px 0 4px;font-size:clamp(22px,4vw,34px);font-weight:500}
.dzg-head p{margin:0;color:#999}
.dzg-desc{max-width:680px;margin:6px auto 12px;color:#ccc;font-size:16px}
.dzg-head .dzg-desc p{color:#ccc;margin:0 0 8px}
.dzg-picked{max-width:900px;margin:0 auto 16px;padding:12px 16px;background:#1b1b1b;border:1px solid #2c2c2c;border-radius:8px;text-align:center}
.dzg-picked[hidden]{display:none}
.dzg-picked p{margin:0}
.dzg-picked-list{margin-top:6px!important;color:#ddd;word-break:break-word;user-select:all}
.dzg-copy{margin-left:8px;background:#fff;color:#111;border:0;border-radius:4px;padding:3px 10px;cursor:pointer;font-weight:600}
.dzg-filter{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:0 16px 14px}
.dzg-filter button{background:#1d1d1d;border:1px solid #333;color:#ccc;border-radius:18px;padding:6px 14px;cursor:pointer}
.dzg-filter button.is-on{background:#fff;color:#111;border-color:#fff}
.dzg-filter span{opacity:.7;margin-left:2px}
.dzg-none{text-align:center;color:#999;padding:30px 16px}
.dzg-grid figure[hidden]{display:none}
.dzg-empty{text-align:center;color:#aaa;padding:40px 16px}
.dzg-grid{--gap:6px;--row:4px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-rows:var(--row);column-gap:var(--gap);padding:6px}
@media (max-width:600px){.dzg-grid{--gap:3px;grid-template-columns:repeat(2,1fr);padding:3px}}
/* Masonry: foto intere (niente ritaglio); gallery.js calcola quante righe da 4 px occupa ognuna.
   Senza JS: altezza dal rapporto dei lati, la griglia resta comunque ordinata */
.dzg-grid figure{position:relative;margin:0;grid-row-end:span var(--span,60)}
.dzg-grid a{position:relative;display:block;background:#222;aspect-ratio:1/var(--r,1)}
.dzg-grid img{width:100%;height:100%;display:block;transition:opacity .2s}
.dzg-grid a:hover img{opacity:.85}

/* Cuore */
.dzg-heart{display:inline-flex;align-items:center;gap:4px;background:rgba(0,0,0,.45);border:0;border-radius:18px;color:#fff;cursor:pointer;padding:6px 9px;line-height:1}
.dzg-heart svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;transition:transform .15s}
.dzg-heart span{font-size:13px;font-weight:600;min-width:0}
.dzg-heart span:empty{display:none}
.dzg-heart.is-on svg{fill:#ff3b5c;stroke:#ff3b5c}
.dzg-heart:active svg{transform:scale(1.25)}
.dzg-grid .dzg-heart{position:absolute;right:6px;top:6px}

/* Visione a tutto schermo: foto a sinistra, barra laterale a destra */
.dzg-lb{position:fixed;inset:0;background:#0a0a0a;display:flex;z-index:10}
.dzg-lb[hidden]{display:none}
.dzg-stage{position:relative;flex:1;min-width:0;display:flex;align-items:center;justify-content:center;touch-action:pan-y}
.dzg-photo{position:relative;display:inline-block;line-height:0}
.dzg-stage img{max-width:calc(100vw - 300px);max-height:100vh;object-fit:contain;user-select:none}
/* Firma: livello sopra la foto, in basso a destra (le foto non vengono modificate) */
.dzg-grid a::after,.dzg-photo::after{content:"";position:absolute;right:3%;bottom:2.5%;width:36%;max-width:320px;aspect-ratio:1119/240;background:var(--sign) no-repeat right bottom/contain;pointer-events:none}
.dzg-grid a::after{width:42%}
.dzg-photo:not(:has(img[src]))::after{display:none}
/* Presentazione */
.dzg-show{position:fixed;inset:0;background:#000;z-index:20;cursor:none}
.dzg-show[hidden]{display:none}
.dzg-show .dzg-photo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity 1s}
.dzg-show .dzg-photo.is-on{opacity:1}
.dzg-show img{max-width:100vw;max-height:100vh;display:block}
.dzg-show-bar{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:linear-gradient(transparent,rgba(0,0,0,.6));opacity:0;transition:opacity .3s}
.dzg-show.show-ui{cursor:default}
.dzg-show.show-ui .dzg-show-bar{opacity:1}
.dzg-show-bar button{background:none;border:0;color:#fff;font-size:22px;cursor:pointer;padding:6px 10px}
.dzg-show-num{color:#aaa;font-size:13px}
.dzg-play-here{background:#262626;border:0;color:#fff;border-radius:4px;padding:8px 12px;cursor:pointer}
.dzg-filter .dzg-play-btn{background:#2a2a2a;color:#fff}
.dzg-lb button.dzg-prev,.dzg-lb button.dzg-next{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;color:#fff;font-size:48px;line-height:1;cursor:pointer;padding:12px 18px;opacity:.75}
.dzg-prev{left:0}.dzg-next{right:0}
.dzg-lb button.dzg-prev:hover,.dzg-lb button.dzg-next:hover{opacity:1}
.dzg-side{position:relative;width:300px;flex:none;background:#161616;border-left:1px solid #262626;padding:56px 22px 24px;overflow-y:auto}
.dzg-close{position:absolute;top:8px;right:10px;background:none;border:0;color:#fff;font-size:34px;line-height:1;cursor:pointer;opacity:.8;z-index:2}
.dzg-name{margin:0;font-size:17px;font-weight:600;word-break:break-all}
.dzg-num{margin:4px 0 18px;color:#888;font-size:13px}
.dzg-actions{display:flex;gap:10px;align-items:center;margin-bottom:22px}
.dzg-actions .dzg-heart{background:#262626;padding:8px 12px}
.dzg-dl{background:#fff;color:#111;text-decoration:none;padding:8px 16px;border-radius:4px;font-weight:600}
.dzg-exif{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:13px}
.dzg-exif dt{color:#888}
.dzg-exif dd{margin:0;color:#ddd}
.dzg-info{display:none}
@media (max-width:760px){
  .dzg-prev,.dzg-next{display:none}
  .dzg-stage img{max-width:100vw}
  .dzg-side{position:absolute;left:0;right:0;bottom:0;width:auto;max-height:60vh;border:0;border-top:1px solid #262626;padding:18px 18px 22px;transform:translateY(100%);transition:transform .25s}
  .dzg-lb.side-open .dzg-side{transform:none}
  .dzg-close{top:6px;right:8px;text-shadow:0 0 6px #000}
  .dzg-info{display:block;position:fixed;bottom:14px;right:14px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:#111;font:italic 700 20px/40px Georgia,serif;cursor:pointer;z-index:2}
  .dzg-lb.side-open .dzg-info{bottom:calc(60vh + 10px)}
}

/* Condivisione, piè di pagina, avviso */
.dzg-filter .dzg-share-album{display:inline-flex;align-items:center;gap:6px}
.dzg-filter .dzg-share-album svg,.dzg-share-photo svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dzg-share-photo{background:#262626;border:0;color:#fff;border-radius:4px;padding:8px 11px;cursor:pointer;line-height:0}
.dzg-foot{text-align:center;color:#777;font-size:13px;padding:28px 16px 36px}
.dzg-foot a{color:#aaa}
.dzg-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#fff;color:#111;padding:8px 16px;border-radius:20px;font-weight:600;z-index:30}
.dzg-toast[hidden]{display:none}
.dzg-float{display:none}
@media (max-width:760px){
  .dzg-float{display:flex;gap:10px;position:fixed;left:14px;bottom:14px;z-index:2}
  .dzg-float .dzg-heart{background:rgba(0,0,0,.55);padding:9px 12px}
  .dzg-float .dzg-share-photo{background:rgba(0,0,0,.55);border-radius:20px;padding:10px 12px}
  .dzg-lb.side-open .dzg-float{bottom:calc(60vh + 10px)}
}
.dzg-share-text::after{content:" Condividi";font-size:14px;font-weight:600;line-height:16px;vertical-align:top;margin-left:4px}
.dzg-share-text{line-height:16px}
.dzg-search{background:#1d1d1d;border:1px solid #333;color:#eee;border-radius:18px;padding:6px 14px;font:inherit;width:210px}
.dzg-search:focus{outline:none;border-color:#888}
@media (max-width:600px){.dzg-search{width:100%;order:-1}}
.dzg-tagbox,.dzg-kwbox{margin-top:20px}
.dzg-tagbox[hidden],.dzg-kwbox[hidden]{display:none}
.dzg-kwbox h3,.dzg-tagbox h3{margin:0 0 8px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#888}
.dzg-tags{display:flex;flex-wrap:wrap;gap:6px}
.dzg-tag{background:#262626;border:1px solid #3a3a3a;color:#eee;border-radius:14px;padding:4px 11px;font-size:13px;cursor:pointer}
.dzg-tag:hover{background:#fff;color:#111}
.dzg-comments{margin-top:22px}
.dzg-comments[hidden]{display:none}
.dzg-comments h3{margin:0 0 8px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#888}
.dzg-c-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:10px}
.dzg-c-list li{background:#1f1f1f;border-radius:6px;padding:8px 10px}
.dzg-c-head{font-size:12px;color:#999;margin-bottom:3px}
.dzg-c-list p{margin:0;font-size:14px;white-space:pre-wrap;word-break:break-word}
.dzg-c-form{display:flex;flex-direction:column;gap:6px}
.dzg-c-form input,.dzg-c-form textarea{background:#1d1d1d;border:1px solid #333;color:#eee;border-radius:6px;padding:7px 9px;font:inherit;font-size:14px;resize:vertical}
.dzg-c-form button{align-self:flex-start;background:#fff;color:#111;border:0;border-radius:4px;padding:7px 16px;font-weight:600;cursor:pointer}
.dzg-c-form button:disabled{opacity:.5}
.dzg-c-msg{color:#ff8a8a;font-size:13px;margin:0}
.dzg-cbadge{position:absolute;left:6px;top:6px;background:rgba(0,0,0,.55);color:#fff;border-radius:14px;padding:4px 9px;font-size:12px;font-weight:600;pointer-events:none}

.dzg-kws{display:flex;flex-wrap:wrap;gap:6px}
.dzg-tag.dzg-kw{text-transform:none}
.dzg-kwfilter{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding:0 16px 14px;max-height:84px;overflow-y:auto}
.dzg-kwfilter button{background:transparent;border:1px solid #3a3a3a;color:#bbb;border-radius:14px;padding:3px 10px;font-size:13px;cursor:pointer}
.dzg-kwfilter button span{opacity:.6;margin-left:2px;font-size:12px}
.dzg-kwfilter button.is-on{background:#e8e8e8;color:#111;border-color:#e8e8e8}

/* Sezioni dell'album (Preparativi, Cerimonia…): più evidenti delle parole chiave, una alla volta */
.dzg-sezioni{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:0 16px 14px}
.dzg-sezioni button{background:#1d1d1d;border:1px solid #444;color:#ddd;border-radius:18px;padding:6px 14px;font-size:14px;cursor:pointer}
.dzg-sezioni button span{opacity:.6;margin-left:3px;font-size:12px}
.dzg-sezioni button:hover{border-color:#888}
.dzg-sezioni button.is-on{background:#e8e8e8;color:#111;border-color:#e8e8e8}
@media (max-width:600px){.dzg-sezioni{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.dzg-sezioni button{flex:none}}

/* Pulsante tondo di DZ Share: nascosto con la foto ingrandita e la presentazione */
.dzg-lb:not([hidden]) ~ .dzs-fab, .dzg-show:not([hidden]) ~ .dzs-fab { display: none; }
