.po-albo { --po-brand:#732728; display:grid; gap:20px; width:100%; }
.po-albo *, .po-albo-detail * { box-sizing:border-box; }
.po-albo-progetti { grid-template-columns:repeat(2,minmax(0,1fr)); }
.po-albo-progetti .po-albo-card,
.po-albo-progetti .po-albo-card:visited,
.po-albo-progetti .po-albo-card:hover,
.po-albo-progetti .po-albo-card:focus,
.po-albo-progetti .po-albo-card:active,
.po-albo-progetti .po-albo-card .po-albo-copy h3 { color:#fff !important; text-decoration:none !important; }
.po-albo-progetti .po-albo-card .po-albo-copy p { color:#e0e0e0 !important; }
.po-albo .po-albo-item { min-width:0; margin:0; padding:0; border:0; }
.po-albo .po-albo-card { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:400px; padding:24px; overflow:hidden; border-radius:12px; background:#34302c; color:#fff; text-decoration:none; isolation:isolate; height:100%; }
.po-albo-progetti .po-albo-card::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.7) 100%); z-index:-1; }
.po-albo .po-albo-cover { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.po-albo .po-albo-arrow { display:grid; place-items:center; align-self:flex-end; width:48px; height:48px; border-radius:50%; background:#fff; color:var(--po-brand); flex-shrink:0; }
.po-albo .po-albo-arrow svg { width:24px; height:24px; transform:rotate(-45deg); transition:transform .2s; }
.po-albo .po-albo-card:hover .po-albo-arrow svg { transform:rotate(0deg); }
.po-albo .po-albo-card:focus-visible { outline:3px solid var(--po-brand); outline-offset:4px; }
.po-albo .po-albo-copy { margin-top:28px; }
.po-albo .po-albo-copy h3 { font-family:var(--e-global-typography-df45e9f-font-family,inherit); font-size:var(--e-global-typography-df45e9f-font-size,26px); font-weight:400; line-height:var(--e-global-typography-df45e9f-line-height,36px); color:inherit; margin:0 0 4px; }
.po-albo .po-albo-copy p { font-family:var(--e-global-typography-f35636a-font-family,inherit); font-size:var(--e-global-typography-f35636a-font-size,14px); line-height:1.7; color:#e0e0e0; margin:0; }
.po-albo-assemblee { grid-template-columns:1fr; gap:12px; }
.po-albo-assemblee .po-albo-card { min-height:0; flex-direction:row-reverse; align-items:center; gap:24px; border:1px solid #e6dada; background:#fff; color:var(--po-brand); }
.po-albo-assemblee .po-albo-copy { margin:0; flex:1; }
.po-albo-assemblee .po-albo-copy h3 { font-size:22px; line-height:1.4; }
.po-albo-assemblee .po-albo-copy p { color:#666; }
.po-albo-assemblee .po-albo-arrow { align-self:center; background:#f7f2f2; }
.po-albo time { display:block; color:#666; font-size:13px; margin-bottom:8px; }
.po-albo-empty { color:#666; font-style:italic; }
.po-albo-detail { width:min(100%,960px); margin:0 auto; padding:48px 24px; color:#333; line-height:1.8; }
.po-albo-detail h1 { color:#732728; font-size:clamp(28px,4vw,42px); line-height:1.25; }
.po-albo-detail a { color:#732728; text-decoration:underline; overflow-wrap:anywhere; }
.po-albo-detail img { display:block; max-width:100%; height:auto; margin:16px auto; }
.po-albo-detail figure { max-width:100%; margin:20px 0; }
.po-albo-detail figure > ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:0; margin:0; list-style:none; }
.po-albo-detail figure > ul > li { min-width:0; list-style:none; margin:0; padding:0; }
.po-albo-detail figure > ul figure { margin:0; }
.po-albo-detail ul, .po-albo-detail ol { padding-left:24px; }
.po-albo-detail table { width:100%; border-collapse:collapse; font-size:14px; }
.po-albo-detail td { border:1px solid #ddd; padding:8px; }
.po-albo-detail .po-albo-date { color:#666; font-size:14px; }
.po-albo-detail .po-albo-document { display:inline-block; padding:10px 20px; background:#732728; color:white; border-radius:8px; }
@media(max-width:767px) { .po-albo-progetti { grid-template-columns:1fr; } .po-albo .po-albo-card { min-height:350px; padding:20px; } .po-albo-assemblee .po-albo-card { min-height:0; gap:14px; } .po-albo-assemblee .po-albo-copy h3 { font-size:20px; } }
@media(prefers-reduced-motion:reduce) { .po-albo .po-albo-arrow svg { transition:none; } }
@media(max-width:600px) { .po-albo-detail figure > ul { grid-template-columns:1fr; } }
.po-albo-dialog { box-sizing:border-box; width:min(900px,calc(100vw - 32px)); max-height:90vh; max-height:90dvh; padding:0; margin:auto; border:1px solid #e6dada; border-radius:14px; background:#fff; color:#333; overflow:auto; box-shadow:0 20px 70px #0004; }
.po-albo-dialog:not([open]) { display:none !important; }
.po-albo-dialog *, .po-albo-dialog *::before, .po-albo-dialog *::after { box-sizing:border-box; }
.po-albo-dialog::backdrop { background:rgb(0 0 0 / 65%); }
.po-albo-dialog .po-albo-dialog-top { position:sticky; top:0; display:flex; justify-content:flex-end; padding:8px 12px; z-index:2; background:#fff; border-bottom:1px solid #eee; }
.po-albo-dialog .po-albo-close { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:#f7f2f2; color:#732728; font-size:28px; line-height:1; cursor:pointer; }
.po-albo-dialog .po-albo-detail { padding:12px 32px 32px; width:100%; font-size:16px; }
.po-albo-dialog h2 { color:#732728; font-size:clamp(23px,3vw,32px); line-height:1.3; margin:0 0 16px; }
.po-albo-dialog :focus-visible { outline:2px solid #732728; outline-offset:3px; }
.po-albo-dialog .po-albo-content { overflow-wrap:anywhere; }
.po-albo-detail .po-albo-content a[download] { display:inline-block; margin:6px 0 6px 12px; }
.po-albo-detail .po-albo-downloads { margin-top:28px; padding-top:18px; border-top:1px solid #e6dada; }
.po-albo-detail .po-albo-downloads ul { list-style:none; padding:0; margin:0; }
.po-albo-detail .po-albo-downloads li { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:8px 0; }
.po-albo-detail .po-albo-downloads li > span { flex:1; min-width:100px; }
.po-albo-detail .po-albo-downloads a { display:inline-flex; align-items:center; min-height:44px; padding:6px 12px; border:1px solid #e6dada; border-radius:6px; text-decoration:none; }
html.po-albo-modal-open { overflow:hidden !important; }
.po-albo-detail .po-albo-gallery { margin:20px 0 28px; }
.po-albo-detail .po-albo-slide { display:block; border-radius:10px; overflow:hidden; background:#f5f3f1; margin-bottom:12px; }
.po-albo-detail .po-albo-slide img { display:block; width:100%; height:clamp(220px,45vw,440px); object-fit:contain; margin:0; }
.po-albo-detail .po-albo-gallery [hidden] { display:none !important; }
.po-albo-detail .po-albo-gallery-controls { display:flex; align-items:center; justify-content:center; gap:18px; }
.po-albo-detail .po-albo-gallery-controls button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #e6dada; border-radius:50%; background:#fff; color:#732728; font-size:24px; line-height:1; cursor:pointer; }
.po-albo-detail .po-albo-gallery-controls button:hover { background:#f7f2f2; color:#732728; }
.po-albo-detail .po-albo-gallery-count { min-width:50px; text-align:center; color:#666; font-size:14px; }
@media(max-width:600px) { .po-albo-dialog { width:calc(100vw - 16px); max-height:94vh; max-height:94dvh; border-radius:10px; } .po-albo-dialog .po-albo-detail { padding:12px 18px 24px; } }
