/*
=========================================
PICSOB - Single Image Page
=========================================
*/

.picsob-single{

    max-width:1400px;

    margin:90px auto 60px;

    padding:0 20px;

}

.single-image{

    width:100%;

    background:#090b12;

    overflow:hidden;

    display:flex;

    align-items:center;

    justify-content:center;

    max-height:90vh;

}

.single-image img{

    display:block;

    width:auto;

    height:auto;

    max-width:100%;

    max-height:90vh;

    object-fit:contain;

    margin:0 auto;

}

/* Post Ads slot on the single image page - flexible, fits whatever size code is pasted */
.picsob-single > .picsob-ad,
.picsob-single > .picsob-ad-placeholder,
.image-description .picsob-ad,
.image-description .picsob-ad-placeholder{

    max-width:100%;

    margin:28px auto;

    overflow-x:auto;

}

.picsob-ad-placeholder.picsob-ad-post_ads{

    width:100%;

    min-height:90px;

    padding:20px;

}

.single-content{

    max-width:900px;

    margin:40px auto;

}

.image-title{

    font-size:42px;

    font-weight:700;

    line-height:1.2;

    margin-bottom:16px;

}

.image-description{

    font-size:18px;

    line-height:1.9;

    color:#e5e7eb;

}

.image-navigation{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin:60px auto;

    max-width:900px;

    gap:20px;

}

.image-navigation a{

    display:inline-block;

    padding:14px 24px;

    background:#111722;

    color:#fff;

    transition:.25s;

}

.image-navigation a:hover{

    background:#1b2432;

}

.related-images{

    margin-top:80px;

}

.related-images h2{

    font-size:28px;

    margin-bottom:25px;

    font-weight:600;

}

/*
=========================================
Mobile
=========================================
*/

@media(max-width:768px){

    .picsob-single{

        margin-top:75px;

        padding:0 15px;

    }

    .single-image{

        max-height:none;

    }

    .single-image img{

        width:100%;

        max-width:100%;

        max-height:none;

    }

    .image-title{

        font-size:28px;

    }

    .image-description{

        font-size:16px;

    }

    .image-navigation{

        flex-direction:column;

        align-items:stretch;

    }

    .image-navigation a{

        text-align:center;

    }

}

/* ==========================
Post Tags + Share
========================== */

.post-meta-share{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:24px;

    flex-wrap:wrap;

    padding:26px 0;

    margin-top:36px;

    border-top:1px solid var(--border);

}

.post-tags{

    display:flex;

    gap:10px;

    flex-wrap:wrap;

}

.post-tags a{

    padding:9px 16px;

    border:1px solid var(--border);

    border-radius:999px;

    color:var(--text-muted);

    text-decoration:none;

    font-size:12px;

    font-weight:600;

    letter-spacing:.5px;

    text-transform:uppercase;

    transition:.25s ease;

}

.post-tags a:hover{

    border-color:rgba(255,255,255,.4);

    color:var(--text);

    background:rgba(255,255,255,.05);

    transform:translateY(-2px);

}

.post-share{

    display:flex;

    gap:10px;

}

.share-btn{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    border:1px solid var(--border);

    background:transparent;

    color:var(--text-muted);

    position:relative;

    transition:.25s ease;

    cursor:pointer;

    text-decoration:none;

}

.share-btn:hover{

    border-color:rgba(255,255,255,.4);

    color:var(--text);

    background:rgba(255,255,255,.08);

    transform:translateY(-3px);

}

.share-btn::before{

    content:attr(data-tooltip);

    position:absolute;

    bottom:calc(100% + 10px);

    left:50%;

    transform:translateX(-50%) translateY(4px);

    padding:6px 10px;

    border-radius:6px;

    background:rgba(15,17,25,.95);

    border:1px solid var(--border);

    color:var(--text);

    font-size:11px;

    letter-spacing:.3px;

    white-space:nowrap;

    opacity:0;

    pointer-events:none;

    transition:opacity .2s ease, transform .2s ease;

}

.share-btn:hover::before{

    opacity:1;

    transform:translateX(-50%) translateY(0);

}

.share-btn:focus-visible::before{

    opacity:1;

    transform:translateX(-50%) translateY(0);

}

.share-btn:focus-visible{

    outline:2px solid rgba(255,255,255,.25);

    outline-offset:3px;

}

@media (prefers-reduced-motion: reduce){

    .share-btn,

    .post-tags a{

        transition:none;

    }

}

@media(max-width:480px){

    .post-meta-share{

        flex-direction:column;

        align-items:flex-start;

    }

}

/* ==========================================================
   Picsob Premium Meta Bar
========================================================== */

.picsob-post-meta{

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    margin:26px 0 34px;

    padding:18px 22px;

    border:1px solid var(--border);
    border-radius:18px;

    background:rgba(255,255,255,.02);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

}

.picsob-post-date,
.picsob-post-views{

    display:flex;
    align-items:center;
    gap:10px;

    min-width:0;

}

.meta-icon{

    width:18px;
    height:18px;

    flex-shrink:0;

    color:var(--text-muted);

    transition:
        color .28s ease,
        transform .28s ease;

}

.picsob-post-date time{

    font-size:14px;

    font-weight:500;

    letter-spacing:.03em;

    color:var(--text-muted);

}

.meta-divider{

    width:1px;
    height:20px;

    background:var(--border);

    opacity:.8;

    flex-shrink:0;

}

.picsob-post-views strong{

    font-size:15px;

    font-weight:700;

    color:var(--text);

}

.picsob-post-views span{

    font-size:14px;

    color:var(--text-muted);

}

.picsob-post-date:hover .meta-icon,
.picsob-post-views:hover .meta-icon{

    color:var(--text);

    transform:translateY(-1px);

}

.picsob-post-meta:hover{

    border-color:rgba(255,255,255,.12);

    transition:border-color .3s ease;

}


/* ===========================
   Mobile
=========================== */

@media (max-width:768px){

    .picsob-post-meta{

        flex-wrap:wrap;

        justify-content:flex-start;

        gap:14px;

        padding:16px 18px;

    }

    .meta-divider{

        display:none;

    }

}


/* ===========================
   Accessibility
=========================== */

@media (prefers-reduced-motion:reduce){

    .picsob-post-meta,
    .meta-icon{

        transition:none;

    }

}

.picsob-view-count{

    font-variant-numeric:tabular-nums;

}

.picsob-post-meta{

    will-change:border-color;

}

.meta-icon{

    will-change:transform,color;

}
