/* ── Thoughts Single Post ── */

.bsb-single-article {
    padding-top:    150px;
    padding-bottom: 4rem;
}
.bsb-single-article .bsb-container{
    max-width: 840px;
    max-width: 1100px;
}

/* ── Title ── */
.bsb-single-title {
    font-family:    var(--bsb-font-primary);
    /* font-size:      clamp(2.5rem, 4.5vw, 4rem); */
    font-size:      clamp(2.5rem, 3vw, 3.125rem);
    font-weight:    900;
    line-height:    1.3;
    text-transform: uppercase;
    color:          var(--bsb-color-text);
    margin:         0 0 0;
    letter-spacing: -0.01em;
}

/* ── Category tags ── */
.bsb-single-tags {
    display:       flex;
    flex-wrap:     wrap;
    gap:           10px;
    margin-top:    2.5rem;
    margin-bottom: 2rem;
}

.bsb-single-tag {
    display:         inline-block;
    padding:         6px 14px;
    border:          1px solid #06262D;
    border-radius:   100px;
    font-family:     var(--bsb-font-primary);
    font-size:       0.75rem;
    font-weight:     700;
    text-transform:  uppercase;
    color:           #06262D;
    text-decoration: none;
    transition:      background 0.25s ease, color 0.25s ease;
}

.bsb-single-tag:hover {
    background: #06262D;
    color:      #ffffff;
}

/* ── Featured image ── */
.bsb-single-featured {
    width:         100%;
    margin-bottom: 1rem;
}

.bsb-single-featured-img {
    width:         100%;
    height:        auto;
    display:       block;
    object-fit:    cover;
    border-radius: 20px;
}

.bsb-single-caption {
    font-family: var(--bsb-font-primary);
    font-size:   0.75rem;
    font-weight: 400;
    color:       var(--bsb-color-text);
    line-height: 1.5;
    margin-top:  0.75rem;
    opacity:     0.7;
}

.bsb-single-caption a {
    color:           inherit;
    text-decoration: underline;
}

/* ── Article body typography ── */
.bsb-single-body {
    margin-top: 3rem;
}

.bsb-single-body h2 {
    font-family: var(--bsb-font-primary);
    font-size:   clamp(1.375rem, 1.8vw, 1.625rem);
    font-weight: 400;
    line-height: 1.6;
    color:       var(--bsb-color-text);
    margin:      3rem 0 1.25rem;
}

.bsb-single-body h2:first-child {
    margin-top: 0;
}

.bsb-single-body h3 {
    font-family: var(--bsb-font-primary);
    font-size:   clamp(1rem, 1.4vw, 1.375rem);
    font-weight: 700;
    line-height: 1.4;
    color:       var(--bsb-color-text);
    margin:      2.5rem 0 1rem;
}

.bsb-single-body p {
    font-family: var(--bsb-font-primary);
    font-size:   clamp(0.95rem, 1.1vw, 1.125rem);
    font-weight: 400;
    line-height: 1.85;
    color:       var(--bsb-color-text);
    margin:      0 0 1.5rem;
}

.bsb-single-body p:last-child {
    margin-bottom: 0;
}

.bsb-single-body strong {
    font-weight: 700;
}

.bsb-single-body em {
    font-style: italic;
}

.bsb-single-body a {
    color:                var(--bsb-color-text);
    text-decoration:      underline;
    text-underline-offset: 3px;
    font-weight:          600;
    transition:           color 0.3s ease;
}

.bsb-single-body a:hover {
    color: var(--bsb-pink);
}

.bsb-single-body blockquote {
    border-left: 3px solid var(--bsb-color-text);
    padding:     0.5rem 0 0.5rem 1.5rem;
    margin:      2rem 0;
}

.bsb-single-body blockquote p {
    font-size:   clamp(1.05rem, 1.3vw, 1.25rem);
    font-weight: 500;
    font-style:  italic;
    line-height: 1.7;
    margin:      0;
}

.bsb-single-body ul,
.bsb-single-body ol {
    padding-left: 1.5rem;
    margin:       0 0 1.5rem;
}

.bsb-single-body li {
    font-family: var(--bsb-font-primary);
    font-size:   clamp(0.95rem, 1.1vw, 1.125rem);
    font-weight: 400;
    line-height: 1.85;
    color:       var(--bsb-color-text);
    margin-bottom: 0.5rem;
}

.bsb-single-body li:last-child {
    margin-bottom: 0;
}

/* WP figure/image blocks inside content */
.bsb-single-body figure {
    margin: 2rem 0;
}

.bsb-single-body figure img {
    border-radius: 12px;
}

/* ── Nav wrapper ── */
.bsb-single-nav-wrapper {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    margin-top:      4rem;
    padding:         2rem 0;
    border-top:      1px solid #e0e0e0;
}

/* Share icons */
.bsb-single-share {
    display:     flex;
    align-items: center;
    gap:         1.25rem;
    list-style:  none;
    margin:      0;
    padding:     0;
}

.bsb-single-share a,
.bsb-copy-link-btn {
    display:         flex;
    align-items:     center;
    justify-content: center;
    background:      none;
    border:          none;
    cursor:          pointer;
    color:           var(--bsb-color-text);
    padding:         0;
    transition:      opacity 0.3s ease;
}

.bsb-single-share a:hover,
.bsb-copy-link-btn:hover {
    opacity: 0.5;
}

.bsb-single-share svg,
.bsb-copy-link-btn svg {
    width:  22px;
    height: 22px;
}

/* Copy confirmation tooltip */
.bsb-copy-link-btn {
    position: relative;
}

.bsb-copy-link-btn::after {
    content:        'Copied!';
    position:       absolute;
    bottom:         calc(100% + 8px);
    left:           50%;
    transform:      translateX(-50%) translateY(4px);
    background:     #06262D;
    color:          #fff;
    font-family:    var(--bsb-font-primary);
    font-size:      0.7rem;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding:        4px 10px;
    border-radius:  4px;
    white-space:    nowrap;
    pointer-events: none;
    opacity:        0;
    transition:     opacity 0.2s ease, transform 0.2s ease;
}

.bsb-copy-link-btn.is-copied {
    color:   var(--bsb-pink);
    opacity: 1;
}

.bsb-copy-link-btn.is-copied::after {
    opacity:   1;
    transform: translateX(-50%) translateY(0);
}

/* Post navigation */
.bsb-single-nav {
    display:     flex;
    align-items: center;
    gap:         2rem;
}

.bsb-single-nav-link {
    display:         inline-flex;
    align-items:     center;
    gap:             0.5rem;
    font-family:     var(--bsb-font-primary);
    font-size:       0.875rem;
    font-weight:     900;
    text-transform:  uppercase;
    letter-spacing:  0.1em;
    color:           var(--bsb-color-text);
    text-decoration: none;
    transition:      opacity 0.3s ease;
}

.bsb-single-nav-link:hover {
    opacity: 0.6;
}

.bsb-single-nav-link--disabled {
    opacity: 0.25;
    cursor:  default;
}

.bsb-single-nav-link svg {
    width:       20px;
    height:      20px;
    flex-shrink: 0;
}

/* ── Responsive ── */
@media (min-width: 992px) {
    .bsb-single-nav {
        /* flex:            0 0 580px; */
        justify-content: space-between;
    }

    .bsb-single-nav-link {
        font-size: 1rem;
    }

    .bsb-single-nav-link svg {
        width:  20px;
        height: 20px;
    }
}

@media (max-width: 1024px) {
    .bsb-single-article { padding-top: 120px; }
}

@media (max-width: 768px) {
    .bsb-single-article { padding-top: 100px; padding-bottom: 3rem; }

    .bsb-single-title   { margin-bottom: 0; }

    .bsb-single-tags    { margin-top: 2rem; }

    .bsb-single-body h2 { margin-top: 2.5rem; }
    .bsb-single-body h3 { margin-top: 2rem; }

    .bsb-single-nav-wrapper {
        flex-direction: column-reverse;
        align-items:    flex-start;
        gap:            1.5rem;
        margin-top:     3rem;
        padding:        1.5rem 0;
    }

    .bsb-single-nav { gap: 1.5rem; }
}

@media (max-width: 480px) {
    .bsb-single-tags { gap: 8px; }

    .bsb-single-tag {
        font-size: 0.6rem;
        padding:   5px 12px;
    }

    .bsb-single-share { gap: 1rem; }
    .bsb-single-nav   { gap: 0.75rem; }

    .bsb-single-nav-link { font-size: 0.8rem; }
}
