/* =========================================================
NAIJAWIDE SINGLE POST
========================================================= */

.nw-single-shell,
.nw-single-shell *{
    box-sizing:border-box;
}

.nw-single-shell{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    align-items:start;
    gap:24px;
    width:100%;
}

.nw-single-main,
.nw-single-sidebar{
    min-width:0;
}

.nw-single-article{
    overflow:hidden;
    border:1px solid #e4e9e6;
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 28px rgba(14,35,22,.045);
}

.nw-entry-header{
    padding:24px 24px 20px;
    border-bottom:1px solid #e8eeea;
}

.nw-breadcrumbs{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:15px;
    color:#859087;
    font-size:10px;
    line-height:1.5;
}

.nw-breadcrumbs a{
    color:#008f45;
    font-weight:800;
}

.nw-breadcrumb-current{
    overflow:hidden;
    max-width:100%;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.nw-entry-category{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    margin-bottom:12px;
    padding:0 10px;
    border-radius:999px;
    color:#fff;
    background:#00a651;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.nw-entry-title{
    margin:0;
    color:#111c15;
    font-size:clamp(30px,4vw,46px);
    line-height:1.08;
    font-weight:950;
    letter-spacing:-.04em;
}

.nw-entry-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin-top:14px;
    color:#7a867f;
    font-size:10px;
    line-height:1.5;
}

.nw-entry-meta a{
    color:#17231c;
    font-weight:900;
}

.nw-entry-content{
    padding:24px;
    color:#313a34;
    font-size:15px;
    line-height:1.8;
}

.nw-entry-content img{
    max-width:100%;
    height:auto;
    border-radius:14px;
}

.nw-entry-content iframe{
    max-width:100%;
}

.nw-page-links{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin-top:20px;
}

.nw-page-links a,
.nw-page-links > span{
    display:grid;
    place-items:center;
    min-width:34px;
    height:34px;
    border:1px solid #dbe5df;
    border-radius:9px;
    color:#213129;
    background:#fff;
    font-size:11px;
    font-weight:900;
}

.nw-share-section,
.nw-related-section{
    padding:22px 24px;
    border-top:1px solid #e8eeea;
}

.nw-section-kicker{
    display:block;
    margin-bottom:4px;
    color:#00a651;
    font-size:8px;
    font-weight:950;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.nw-section-heading h2,
.nw-related-heading h2{
    margin:0;
    color:#101d15;
    font-size:22px;
    line-height:1.2;
    font-weight:950;
    letter-spacing:-.025em;
}

.nw-share-buttons{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    margin-top:15px;
}

.nw-share-buttons a{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:43px;
    padding:0 12px;
    border:1px solid #dce6e0;
    border-radius:12px;
    color:#23332a;
    background:#f9fbfa;
    font-size:10px;
    font-weight:900;
    transition:.2s ease;
}

.nw-share-buttons a:hover{
    color:#fff;
    border-color:#101d16;
    background:#101d16;
    transform:translateY(-1px);
}

.nw-artist-tags{
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:18px 24px;
    border-top:1px solid #e8eeea;
}

.nw-artist-tags-label{
    flex:0 0 auto;
    color:#6f7b74;
    font-size:9px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.nw-artist-tags-list{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.nw-artist-tags-list a{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border:1px solid #d2e6d9;
    border-radius:999px;
    color:#008f45;
    background:#edf8f1;
    font-size:9px;
    font-weight:900;
}

.nw-promo-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:0 24px 22px;
    padding:18px;
    border-radius:16px;
    color:#fff;
    background:
        radial-gradient(circle at 90% 0,rgba(255,255,255,.14),transparent 32%),
        #0d1d14;
}

.nw-promo-box strong{
    display:block;
    margin-top:4px;
    font-size:14px;
    line-height:1.35;
}

.nw-promo-kicker{
    color:#73e3a4;
    font-size:8px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.nw-promo-box a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
    min-height:38px;
    padding:0 13px;
    border-radius:10px;
    color:#0d1d14;
    background:#fff;
    font-size:9px;
    font-weight:950;
}

.nw-related-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:16px;
}

.nw-related-card{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    gap:12px;
    align-items:center;
    min-width:0;
    padding:10px;
    border:1px solid #e1e8e4;
    border-radius:14px;
    background:#fbfdfc;
}

.nw-related-thumb{
    display:block;
    width:82px;
    height:72px;
    overflow:hidden;
    border-radius:11px;
    background:#edf2ef;
}

.nw-related-thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.nw-related-copy{
    min-width:0;
}

.nw-related-date{
    display:block;
    margin-bottom:4px;
    color:#00a651;
    font-size:8px;
    font-weight:900;
    text-transform:uppercase;
}

.nw-related-copy h3{
    margin:0;
    font-size:12px;
    line-height:1.35;
    font-weight:900;
}

.nw-related-copy h3 a{
    color:#15231b;
}

.nw-single-sidebar{
    position:sticky;
    top:20px;
}

@media(max-width:980px){
    .nw-single-shell{
        grid-template-columns:minmax(0,1fr);
    }

    .nw-single-sidebar{
        position:static;
    }
}

@media(max-width:680px){
    .nw-single-article{
        border-radius:16px;
    }

    .nw-entry-header,
    .nw-entry-content,
    .nw-share-section,
    .nw-related-section{
        padding-right:17px;
        padding-left:17px;
    }

    .nw-entry-title{
        font-size:31px;
    }

    .nw-entry-content{
        font-size:14px;
    }

    .nw-share-buttons{
        grid-template-columns:1fr;
    }

    .nw-artist-tags{
        display:block;
        padding:17px;
    }

    .nw-artist-tags-list{
        margin-top:10px;
    }

    .nw-promo-box{
        display:block;
        margin-right:17px;
        margin-left:17px;
    }

    .nw-promo-box a{
        justify-content:center;
        margin-top:14px;
    }

    .nw-related-grid{
        grid-template-columns:1fr;
    }
}

/* =========================================================
RIGHTS & ARTIST REQUESTS — v3.2.1
========================================================= */

.nw-rights-artist-panel{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    margin-top:34px;
    padding:22px;
    border:1px solid #dce9e1;
    border-radius:20px;
    background:
        radial-gradient(circle at 100% 0,rgba(0,166,81,.09),transparent 34%),
        linear-gradient(180deg,#fbfefc 0%,#f5faf7 100%);
    box-shadow:0 14px 35px rgba(10,47,27,.065);
}

.nw-rights-artist-panel::before{
    position:absolute;
    top:0;
    right:0;
    left:0;
    height:4px;
    background:linear-gradient(90deg,#00a651,#55d98e);
    content:"";
}

.nw-rights-artist-heading{
    max-width:650px;
}

.nw-rights-artist-heading h2{
    margin:0;
    color:#102017;
    font-size:clamp(21px,3vw,28px);
    line-height:1.15;
    font-weight:950;
    letter-spacing:-.03em;
}

.nw-rights-artist-heading p{
    margin:9px 0 0;
    color:#617068;
    font-size:12px;
    line-height:1.65;
}

.nw-rights-artist-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
    margin-top:20px;
}

.nw-request-card{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:13px;
    align-items:start;
    min-width:0;
    padding:17px;
    border:1px solid #e0e9e4;
    border-radius:16px;
    background:rgba(255,255,255,.92);
    box-shadow:0 7px 20px rgba(17,44,28,.04);
}

.nw-request-card--rights{
    border-top:3px solid #183c29;
}

.nw-request-card--artist{
    border-top:3px solid #00a651;
}

.nw-request-icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:13px;
    color:#008f45;
    background:#e9f8ef;
    font-size:16px;
}

.nw-request-card--rights .nw-request-icon{
    color:#193e2a;
    background:#edf2ef;
}

.nw-request-copy{
    min-width:0;
}

.nw-request-label{
    display:block;
    margin-bottom:4px;
    color:#00a651;
    font-size:8px;
    font-weight:950;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.nw-request-card--rights .nw-request-label{
    color:#52635a;
}

.nw-request-copy h3{
    margin:0;
    color:#14221a;
    font-size:16px;
    line-height:1.3;
    font-weight:950;
    letter-spacing:-.02em;
}

.nw-request-copy p{
    margin:8px 0 0;
    color:#5d6a63;
    font-size:11px;
    line-height:1.65;
}

.nw-request-copy ul{
    margin:11px 0 0;
    padding:0;
    list-style:none;
}

.nw-request-copy li{
    position:relative;
    margin-top:5px;
    padding-left:15px;
    color:#49574f;
    font-size:10px;
    line-height:1.5;
}

.nw-request-copy li::before{
    position:absolute;
    top:.58em;
    left:0;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#00a651;
    content:"";
}

.nw-request-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:40px;
    margin-top:14px;
    padding:0 13px;
    border:1px solid #00a651;
    border-radius:11px;
    color:#fff !important;
    background:#00a651;
    box-shadow:0 8px 18px rgba(0,166,81,.16);
    font-size:9px;
    line-height:1;
    font-weight:950;
    text-decoration:none !important;
    transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}

.nw-request-card--rights .nw-request-button{
    border-color:#153b27;
    background:#153b27;
    box-shadow:0 8px 18px rgba(21,59,39,.14);
}

.nw-request-button:hover,
.nw-request-button:focus-visible{
    color:#fff !important;
    background:#087d43;
    box-shadow:0 11px 22px rgba(0,143,69,.22);
    transform:translateY(-1px);
}

.nw-request-card--rights .nw-request-button:hover,
.nw-request-card--rights .nw-request-button:focus-visible{
    background:#0c2b1a;
}

.nw-request-footnote{
    margin:14px 0 0 !important;
    padding-top:13px;
    border-top:1px solid #dfe9e3;
    color:#728077 !important;
    font-size:9px !important;
    line-height:1.6 !important;
}

@media(max-width:760px){
    .nw-rights-artist-panel{
        margin-top:27px;
        padding:18px;
        border-radius:17px;
    }

    .nw-rights-artist-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:430px){
    .nw-request-card{
        grid-template-columns:36px minmax(0,1fr);
        gap:11px;
        padding:15px;
    }

    .nw-request-icon{
        width:36px;
        height:36px;
        border-radius:11px;
        font-size:14px;
    }

    .nw-request-button{
        display:flex;
        width:100%;
    }
}


/* v3.2.2: release pages contain only the rights-holder request. */
.nw-rights-artist-panel--single .nw-request-card{
    max-width:680px;
    margin-top:19px;
}

.nw-rights-artist-panel--single .nw-rights-artist-heading{
    max-width:680px;
}

@media(min-width:761px){
    .nw-rights-artist-panel--single{
        padding:24px;
    }

    .nw-rights-artist-panel--single .nw-request-card{
        grid-template-columns:48px minmax(0,1fr);
    }
}


/* =========================================================
V3.5.5 ARTICLE LINK COLOUR + CONTENT-SAFETY POLISH
Keep editorial links consistently on-brand without changing
navigation, cards, buttons, embeds or the Telegram CTA.
========================================================= */
.nw-entry-content a:not(.nw-inline-telegram-cta__link):not(.wp-block-button__link):not(.button):not([class*="btn"]),
.nw-entry-content a:not(.nw-inline-telegram-cta__link):not(.wp-block-button__link):not(.button):not([class*="btn"]):visited {
    color:#008f45;
    font-weight:750;
    text-decoration-color:rgba(0,143,69,.38);
    text-decoration-thickness:1.4px;
    text-underline-offset:3px;
}

.nw-entry-content a:not(.nw-inline-telegram-cta__link):not(.wp-block-button__link):not(.button):not([class*="btn"]):hover,
.nw-entry-content a:not(.nw-inline-telegram-cta__link):not(.wp-block-button__link):not(.button):not([class*="btn"]):focus-visible {
    color:#006c35;
    text-decoration-color:#006c35;
}

.nw-entry-content h1 a,
.nw-entry-content h2 a,
.nw-entry-content h3 a,
.nw-entry-content h4 a,
.nw-entry-content h5 a,
.nw-entry-content h6 a,
.nw-entry-content h1 a:visited,
.nw-entry-content h2 a:visited,
.nw-entry-content h3 a:visited,
.nw-entry-content h4 a:visited,
.nw-entry-content h5 a:visited,
.nw-entry-content h6 a:visited {
    color:#008f45;
    text-decoration:none;
}

/* Do not leave an oversized blank heading if an older post truly contains one. */
.nw-entry-content h1:empty,
.nw-entry-content h2:empty,
.nw-entry-content h3:empty,
.nw-entry-content h4:empty,
.nw-entry-content h5:empty,
.nw-entry-content h6:empty {
    display:none;
}
