
/* CUCCHIA'S WORLD — gallery social v2 */
.gallery-v2-heading{
    width:min(1080px,100%);
    margin:0 auto 34px;
}
.gallery-v2-heading h1{
    margin:0 0 10px;
    font-family:Manrope,sans-serif;
    font-size:clamp(2rem,4vw,4.2rem);
    line-height:.96;
    letter-spacing:-.055em;
}
.gallery-v2-heading p{
    margin:0;
    color:var(--muted);
}
.gallery-v2-heading p span{
    margin-left:12px;
    padding-left:12px;
    border-left:1px solid var(--line);
}
.gallery-v2-grid{
    width:min(1080px,76%);
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px 22px;
}
.gallery-v2-card{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
}
.gallery-v2-preview{
    display:block;
    height:clamp(130px,13vw,195px);
    overflow:hidden;
    background:#ece7de;
}
.gallery-v2-preview img{
    display:block;
    width:100%;
    height:200%;
    object-fit:cover;
    object-position:top center;
    transition:transform .3s ease;
}
.gallery-v2-card:hover .gallery-v2-preview img{
    transform:scale(1.02);
}
.gallery-v2-controls{
    min-height:46px;
    padding:14px 13px 12px;
    display:flex;
    align-items:center;
    gap:12px;
    border-top:1px solid #eee9e1;
}
.gallery-v2-controls form{margin:0}
.gallery-v2-like,
.gallery-v2-comments{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:0;
    border:0;
    background:none;
    color:#777066;
    font:600 .75rem/1 Inter,sans-serif;
    cursor:pointer;
}
.gallery-v2-like span:first-child{
    color:#b8b0a5;
    font-size:1rem;
}
.gallery-v2-like.is-liked span:first-child{
    color:#d63850;
}
.gallery-v2-file-actions{
    margin-left:auto;
    display:flex;
    gap:7px;
}
.gallery-v2-file-actions a{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border:1px solid #e5ded4;
    border-radius:50%;
    font-size:.88rem;
}
.gallery-v2-empty{
    width:min(1080px,76%);
    margin:0 auto;
    padding:60px 25px;
    border:1px dashed var(--line);
    border-radius:20px;
    text-align:center;
}
.photo-social-page{
    max-width:1500px;
}
.photo-social-layout{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(350px,.65fr);
    gap:28px;
    align-items:start;
}
.photo-social-image-panel{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:22px;
    background:#111;
}
.photo-social-image-panel > img{
    display:block;
    width:100%;
    max-height:78vh;
    object-fit:contain;
    background:#0f0f0f;
}
.photo-social-main-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:11px;
    padding:17px 18px;
    background:#fff;
}
.photo-social-main-actions form{margin:0}
.photo-social-main-actions button,
.photo-social-main-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 15px;
    border:1px solid #ddd6cc;
    border-radius:999px;
    background:#fff;
    color:#28241f;
    font:600 .78rem/1 Inter,sans-serif;
    cursor:pointer;
}
.photo-social-main-actions .photo-page-like.is-liked{
    color:#d63850;
    border-color:#e7a7b1;
}
.photo-social-comments{
    position:sticky;
    top:90px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff;
}
.photo-social-comments > header{
    padding:22px 22px 18px;
    border-bottom:1px solid #eee9e1;
}
.photo-social-comments > header p{
    margin:0 0 5px;
    color:#8d857a;
    font-size:.64rem;
    font-weight:700;
    letter-spacing:.16em;
}
.photo-social-comments > header h1{
    margin:0;
    font-family:Manrope,sans-serif;
    font-size:1.55rem;
}
.photo-social-comments > header span{
    display:block;
    margin-top:6px;
    color:#90887d;
    font-size:.72rem;
}
.social-new-comment{
    padding:18px 20px;
    border-bottom:1px solid #eee9e1;
}
.social-new-comment textarea,
.social-reply-form textarea{
    display:block;
    width:100%;
    box-sizing:border-box;
    resize:vertical;
    padding:12px 13px;
    border:1px solid #dcd4c9;
    border-radius:12px;
    background:#fff;
    font:inherit;
}
.social-new-comment button,
.social-reply-form > button{
    margin-top:9px;
    padding:10px 15px;
    border:0;
    border-radius:999px;
    background:#171512;
    color:#fff;
    font-weight:600;
    cursor:pointer;
}
.social-comments-list{
    max-height:58vh;
    overflow:auto;
    padding:5px 20px 22px;
}
.social-comments-empty{
    padding:28px 0;
    color:#90887d;
    font-size:.84rem;
}
.social-comment{
    display:flex;
    gap:11px;
    padding:16px 0 4px;
}
.social-comment-reply{
    margin-left:13px;
    padding-top:13px;
}
.social-comment-avatar{
    flex:0 0 34px;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#ede7de;
    color:#5e574e;
    font-size:.68rem;
    font-weight:700;
}
.social-comment-body{
    min-width:0;
    flex:1;
}
.social-comment-topline{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:10px;
}
.social-comment-topline strong{
    font-size:.81rem;
}
.social-comment-topline time{
    flex:0 0 auto;
    color:#aaa197;
    font-size:.63rem;
}
.social-comment-body > p{
    margin:5px 0 7px;
    color:#37322c;
    font-size:.84rem;
    line-height:1.5;
    overflow-wrap:anywhere;
}
.social-comment-actions{
    display:flex;
    align-items:center;
    gap:11px;
}
.social-comment-actions form{margin:0}
.social-comment-actions button{
    padding:0;
    border:0;
    background:none;
    color:#8a8176;
    font:600 .68rem/1 Inter,sans-serif;
    cursor:pointer;
}
.social-comment-actions button.is-liked{
    color:#d63850;
}
.social-reply-form{
    margin-top:11px;
}
.social-reply-form[hidden]{
    display:none;
}
@media(max-width:980px){
    .gallery-v2-grid{
        width:88%;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .photo-social-layout{
        grid-template-columns:1fr;
    }
    .photo-social-comments{
        position:static;
    }
    .social-comments-list{
        max-height:none;
    }
}
@media(max-width:620px){
    .gallery-v2-grid{
        width:100%;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:6px;
    }
    .gallery-v2-card{
        border-radius:8px;
    }
    .gallery-v2-preview{
        height:92px;
    }
    .gallery-v2-controls{
        min-height:58px;
        padding:9px 6px 7px;
        gap:7px;
        align-items:flex-start;
        flex-wrap:wrap;
    }
    .gallery-v2-comments span:last-child{
        display:none;
    }
    .gallery-v2-file-actions{
        width:100%;
        margin-left:0;
        justify-content:flex-end;
    }
    .gallery-v2-file-actions a{
        width:27px;
        height:27px;
    }
    .photo-social-layout{
        gap:16px;
    }
    .photo-social-image-panel,
    .photo-social-comments{
        border-radius:14px;
    }
    .photo-social-main-actions{
        padding:14px 12px;
    }
}
