/*
Theme Name: d2d YouthStory
Theme URI: https://d2dnews.in
Author: D2D YouthStory Media Pvt. Ltd.
Author URI: https://d2dnews.in
Description: A clean, minimalist, editorial WordPress theme for d2d YouthStory — bold black typography, generous whitespace and a single confident red accent. Publishes the inspiring stories of India's youth and runs an "Opportunities Zone" listing events, competitions, scholarships, internships and exams, sorted by eligibility (High School / UG / PG / PG & above / Open to all). SEO + GEO optimised, fully responsive.
Version: 3.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: d2dnews
Tags: blog, magazine, education, news, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, editorial, minimalist

d2d YouthStory WordPress Theme, (C) 2026 D2D YouthStory Media Pvt. Ltd.
*/

/* ============================================================
   TOKENS
   ============================================================ */
:root{
    --ink:#111114;
    --ink-soft:#3c3c43;
    --grey:#70707a;
    --grey-2:#9a9aa2;
    --line:#e9e8e4;
    --line-strong:#1a1a1c;
    --paper:#ffffff;
    --wash:#f6f5f2;
    --black:#0b0b0c;
    --red:#d81f24;
    --red-ink:#ad1419;
    --red-wash:#fdeceb;

    /* legacy aliases so older template classes keep working */
    --d2d-red:#d81f24; --d2d-red-dark:#ad1419; --d2d-red-light:#e63946;
    --charcoal:#3c3c43; --grey-1:#f6f5f2; --grey-3:#9a9aa2; --grey-4:#70707a; --white:#fff;
    --yellow:#ffb800; --green-live:#0f9d58;

    --display:'Archivo', sans-serif;
    --body:'Archivo', sans-serif;
    --hindi:'Noto Sans Devanagari', sans-serif;
    --mono:'Roboto Condensed', sans-serif;

    --wrap:1240px;
    --gutter:28px;
}

*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
html{scroll-behavior:smooth;}
body{
    background:var(--paper);
    color:var(--ink);
    font-family:var(--body);
    font-size:17px;
    line-height:1.55;
    overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--red);}
img,svg{max-width:100%;display:block;height:auto;}
::selection{background:var(--red);color:#fff;}
h1,h2,h3,h4,h5{font-family:var(--display);font-weight:800;letter-spacing:-0.02em;line-height:1.08;color:var(--ink);}
.hindi{font-family:var(--hindi);font-weight:600;}

/* WP core */
.alignleft{float:left;margin:6px 28px 18px 0;}
.alignright{float:right;margin:6px 0 18px 28px;}
.aligncenter{display:block;margin:18px auto;}
.alignwide{max-width:1100px;margin-left:auto;margin-right:auto;}
.alignfull{width:100vw;margin-left:calc(50% - 50vw);}
.wp-caption-text{font-size:13px;color:var(--grey);padding:8px 0;font-style:italic;}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;}
.sticky{}
.skip-link{position:absolute;left:-9999px;}
.skip-link:focus{left:12px;top:12px;background:var(--ink);color:#fff;padding:10px 16px;z-index:999;border-radius:6px;}

.container{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);}
.block{max-width:var(--wrap);margin:0 auto;padding:56px var(--gutter);}

/* ============================================================
   HEADER / MASTHEAD  (clean, no clutter)
   ============================================================ */
.site-top{position:sticky;top:0;z-index:200;background:rgba(255,255,255,0.96);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line);}
.masthead{
    max-width:var(--wrap);margin:0 auto;padding:16px var(--gutter);
    display:flex;align-items:center;gap:26px;
}
.brand{display:flex;align-items:center;line-height:0;flex-shrink:0;}
.brand-logo-img{height:46px;width:auto;}
.custom-logo{max-height:46px;width:auto;}
.custom-logo-link{display:block;line-height:0;}

.primary-nav{margin-left:6px;}
.primary-nav ul{list-style:none;display:flex;align-items:center;gap:26px;}
.primary-nav a{
    font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:0.01em;
    color:var(--ink);padding:6px 0;position:relative;white-space:nowrap;
}
.primary-nav a:hover{color:var(--red);}
.primary-nav .current-menu-item>a{color:var(--red);}
.primary-nav .current-menu-item>a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--red);}

/* dropdowns */
.primary-nav li{position:relative;}
.nav-caret{font-size:9px;opacity:.55;margin-left:1px;}
.primary-nav .sub-menu{position:absolute;top:100%;left:-14px;min-width:215px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(17,17,20,0.10);padding:8px;list-style:none;display:block;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:120;}
.primary-nav .menu-item-has-children:hover>.sub-menu,.primary-nav .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(4px);}
.primary-nav .sub-menu li{width:100%;}
.primary-nav .sub-menu a{display:block;padding:9px 14px;font-size:14px;font-weight:600;border-radius:8px;}
.primary-nav .sub-menu a:hover{background:var(--wash);color:var(--red);}
.primary-nav .sub-menu a::after{display:none;}

.masthead-actions{margin-left:auto;display:flex;align-items:center;gap:14px;}
.header-search{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;padding:7px 14px;gap:8px;transition:border-color .15s;max-width:260px;}
.header-search:focus-within{border-color:var(--ink);}
.header-search input{border:none;outline:none;font-family:var(--body);font-size:14px;background:transparent;width:170px;color:var(--ink);}
.header-search button{background:none;border:none;cursor:pointer;color:var(--grey);display:flex;}
.btn-opp{
    display:inline-flex;align-items:center;gap:7px;background:var(--red);color:#fff;
    font-family:var(--display);font-weight:800;font-size:14px;padding:10px 18px;border-radius:999px;
    transition:background .15s,transform .15s;white-space:nowrap;
}
.btn-opp:hover{background:var(--red-ink);color:#fff;transform:translateY(-1px);}
.icon-btn{display:none;background:none;border:none;cursor:pointer;color:var(--ink);}

/* ============================================================
   SIGNATURE: marker labels + section heads
   ============================================================ */
.kicker{font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--red);}
.marker{
    display:inline-block;font-family:var(--display);font-weight:800;font-size:19px;color:#fff;
    background:var(--ink);padding:7px 18px 8px;border-radius:6px 14px 8px 16px;transform:rotate(-1.2deg);
    letter-spacing:0.01em;
}
.marker.red{background:var(--red);}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:26px;flex-wrap:wrap;}
.section-head h2{font-size:38px;line-height:0.98;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
.section-head h2 .hindi{font-size:18px;color:var(--grey);font-weight:600;}
.view-all{font-family:var(--display);font-weight:700;font-size:14px;color:var(--ink);border-bottom:2px solid var(--red);padding-bottom:2px;}
.view-all:hover{color:var(--red);}
.head-underline{position:relative;}
.head-underline::after{content:"";display:block;width:64px;height:5px;background:var(--red);margin-top:10px;border-radius:3px;}

/* ============================================================
   HERO  (lead story + Just In list)
   ============================================================ */
.hero{max-width:var(--wrap);margin:0 auto;padding:40px var(--gutter) 8px;}
.hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:46px;}
.hero-lead{display:block;}
.hero-lead .ratio{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:10px;background:var(--wash);}
.hero-lead .ratio img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.hero-lead:hover .ratio img{transform:scale(1.03);}
.cat-bullet{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:12.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink);margin:18px 0 10px;}
.cat-bullet::before{content:"";width:10px;height:10px;background:var(--red);display:inline-block;}
.hero-lead h1{font-size:42px;line-height:1.03;margin-bottom:14px;}
.hero-lead:hover h1{color:var(--red);}
.lead-excerpt{color:var(--ink-soft);font-size:17px;line-height:1.5;max-width:60ch;}
.byline{margin-top:14px;font-size:13.5px;color:var(--grey);font-weight:600;font-family:var(--display);}
.byline .dot{margin:0 7px;}

.justin{border-left:1px solid var(--line);padding-left:42px;}
.justin h3.col-title{font-size:15px;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:6px;}
.justin-item{display:block;padding:18px 0;border-bottom:1px solid var(--line);}
.justin-item:last-child{border-bottom:none;}
.justin-item .cat{font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--red);margin-bottom:5px;}
.justin-item h4{font-size:19px;line-height:1.12;font-weight:800;}
.justin-item:hover h4{color:var(--red);}
.justin-item .meta{font-size:12.5px;color:var(--grey);margin-top:6px;font-weight:600;}

/* ============================================================
   EDITORIAL CARD GRID
   ============================================================ */
.stories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 30px;}
.stories-grid.cols-4{grid-template-columns:repeat(4,1fr);}
.story-card{display:block;}
.story-card .img,.story-card .ratio{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:8px;background:var(--wash);margin-bottom:14px;}
.story-card .img img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.story-card:hover .img img{transform:scale(1.04);}
.story-card .cat{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-weight:800;font-size:11.5px;letter-spacing:0.05em;text-transform:uppercase;color:var(--ink);margin-bottom:8px;}
.story-card .cat::before{content:"";width:8px;height:8px;background:var(--red);display:inline-block;}
.story-card h3{font-size:21px;line-height:1.12;font-weight:800;}
.story-card:hover h3{color:var(--red);}
.story-card .meta{margin-top:9px;font-size:12.5px;color:var(--grey);font-weight:600;font-family:var(--display);}
.story-card .meta .sep{display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--grey-2);vertical-align:middle;margin:0 8px;}

/* ranked / trending list */
.ranked{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 48px;}
.ranked-item{display:flex;gap:18px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line);}
.ranked-num{font-family:var(--display);font-weight:900;font-size:34px;line-height:0.9;color:var(--red);min-width:42px;}
.ranked-item h4{font-size:18px;line-height:1.14;font-weight:700;}
.ranked-item:hover h4{color:var(--red);}
.ranked-item .meta{font-size:12px;color:var(--grey);margin-top:5px;font-weight:600;}

/* featured 3-column (marker headers) */
.feature-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.feature-col .col-list{margin-top:22px;}
.feature-col .col-list a{display:block;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--display);font-weight:700;font-size:18px;line-height:1.16;}
.feature-col .col-list a:hover{color:var(--red);}

/* ============================================================
   OPPORTUNITIES ZONE  (minimal, the USP)
   ============================================================ */
.opp-zone{background:var(--wash);margin-top:18px;}
.opp-zone-inner{max-width:var(--wrap);margin:0 auto;padding:60px var(--gutter);}
.opp-zone .section-head{margin-bottom:10px;}
.opp-zone-tagline{color:var(--ink-soft);font-size:16.5px;max-width:74ch;margin-bottom:26px;line-height:1.5;}

/* closing-this-week rail */
.opp-rail-wrap{margin-bottom:34px;}
.opp-rail-label{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:800;font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--red);margin-bottom:14px;}
.opp-rail-label .pulse{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(216,31,36,.5);animation:pulse 1.8s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(216,31,36,.45);}70%{box-shadow:0 0 0 9px rgba(216,31,36,0);}100%{box-shadow:0 0 0 0 rgba(216,31,36,0);}}
.opp-rail{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;}
.opp-rail::-webkit-scrollbar{height:6px;}
.opp-rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px;}
.opp-rail .opp-card{min-width:300px;scroll-snap-align:start;}

.opp-tabs-btns{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px;}
.opp-tab-btn{font-family:var(--display);font-weight:700;font-size:14px;padding:9px 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink-soft);cursor:pointer;transition:all .15s;white-space:nowrap;}
.opp-tab-btn:hover{border-color:var(--red);color:var(--red);}
.opp-tab-btn.is-active{background:var(--ink);border-color:var(--ink);color:#fff;}
.opp-tab-panel{animation:fade .25s ease;}
@keyframes fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

.opp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.opp-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;transition:box-shadow .18s,transform .18s,border-color .18s;min-height:172px;}
.opp-card:hover{box-shadow:0 14px 34px rgba(17,17,20,0.08);transform:translateY(-3px);border-color:#dcdbd6;}
.opp-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;}
.opp-type{font-family:var(--display);font-weight:800;font-size:10.5px;letter-spacing:0.07em;text-transform:uppercase;color:var(--ink);background:var(--wash);padding:5px 10px;border-radius:5px;}
.opp-deadline{font-family:var(--display);font-weight:800;font-size:12.5px;white-space:nowrap;color:var(--grey);}
.opp-title{font-size:18.5px;line-height:1.18;font-weight:800;color:var(--ink);margin-bottom:9px;}
.opp-title a{color:inherit;}
.opp-card:hover .opp-title a{color:var(--red);}
.opp-org{font-size:13.5px;color:var(--grey);margin-bottom:11px;font-weight:500;}
.opp-elig-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.opp-elig-chip{font-family:var(--display);font-weight:700;font-size:10.5px;letter-spacing:0.02em;color:var(--ink-soft);background:#fff;border:1px solid var(--line);padding:4px 9px;border-radius:999px;}
.opp-card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--line);}
.opp-card-foot-meta{display:flex;flex-direction:column;gap:2px;min-width:0;}
.opp-reward{font-size:13px;font-weight:800;color:var(--ink);font-family:var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.opp-reward-ic{color:var(--red);}
.opp-fee{font-size:11.5px;color:var(--grey);font-weight:600;}
.opp-card-apply{flex-shrink:0;background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:12.5px;padding:8px 14px;border-radius:999px;white-space:nowrap;transition:background .15s;}
.opp-card-apply:hover{background:var(--red-ink);color:#fff;}
.opp-card-apply.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line);}
.opp-card-apply.ghost:hover{border-color:var(--red);color:var(--red);background:transparent;}

.opp-state-urgent .opp-deadline{color:var(--red);}
.opp-state-urgent{border-color:#f3cdcb;}
.opp-state-today{border-color:var(--red);background:var(--red-wash);}
.opp-state-today .opp-deadline{color:#fff;background:var(--red);padding:3px 8px;border-radius:5px;}
.opp-state-open .opp-deadline{color:var(--green-live);}
.opp-state-closed{opacity:0.55;}
.opp-panel-all{display:inline-block;margin-top:22px;font-family:var(--display);font-weight:800;font-size:14px;color:var(--ink);border-bottom:2px solid var(--red);padding-bottom:2px;}
.opp-panel-all:hover{color:var(--red);}
.opp-empty{background:#fff;border:1px dashed var(--grey-2);border-radius:12px;padding:34px;text-align:center;color:var(--grey);}

/* opportunity of the week */
.opp-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:var(--ink);border-radius:14px;overflow:hidden;margin-bottom:34px;}
.opp-feature .ofw-body{padding:38px 40px;color:#fff;display:flex;flex-direction:column;justify-content:center;}
.opp-feature .ofw-kicker{font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);margin-bottom:12px;}
.opp-feature h3{color:#fff;font-size:30px;line-height:1.05;margin-bottom:14px;}
.opp-feature p{color:rgba(255,255,255,0.7);font-size:15px;margin-bottom:18px;}
.opp-feature .ofw-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:22px;}
.opp-feature .ofw-meta span{font-size:13px;color:rgba(255,255,255,0.85);font-family:var(--display);font-weight:600;}
.opp-feature .ofw-meta b{color:#fff;}
.opp-feature .ofw-cta{align-self:flex-start;background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:14px;padding:12px 22px;border-radius:999px;}
.opp-feature .ofw-cta:hover{background:#fff;color:var(--ink);}
.opp-feature .ofw-side{background:var(--red);display:flex;align-items:center;justify-content:center;padding:30px;color:#fff;text-align:center;}
.opp-feature .ofw-days{font-family:var(--display);font-weight:900;font-size:74px;line-height:0.9;}
.opp-feature .ofw-days small{display:block;font-size:15px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-top:8px;opacity:.9;}

/* ============================================================
   INSPIRING / submit CTA
   ============================================================ */
.inspiring-section{background:var(--ink);color:#fff;}
.inspiring-inner{max-width:var(--wrap);margin:0 auto;padding:64px var(--gutter);}
.inspiring-section h2,.inspiring-section .section-head h2{color:#fff;}
.inspiring-section .view-all{color:#fff;}
.inspiring-tagline{color:rgba(255,255,255,0.66);font-size:17px;max-width:64ch;margin:6px 0 30px;}
.inspiring-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.inspiring-card .inspiring-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:10px;background:#222;}
.inspiring-card .inspiring-img img{width:100%;height:100%;object-fit:cover;}
.inspiring-badge{position:absolute;top:12px;left:12px;background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:0.05em;text-transform:uppercase;padding:5px 11px;border-radius:5px;}
.inspiring-text{padding-top:16px;}
.inspiring-byline{font-size:13px;color:rgba(255,255,255,0.6);font-weight:600;margin-bottom:8px;}
.inspiring-text h3{color:#fff;font-size:21px;line-height:1.14;margin-bottom:8px;}
.inspiring-text h3 a:hover{color:var(--red);}
.inspiring-text p{color:rgba(255,255,255,0.68);font-size:15px;margin-bottom:10px;}
.inspiring-read{color:var(--red);font-family:var(--display);font-weight:800;font-size:13.5px;}
.inspiring-img-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35));}

.get-featured-cta{margin-top:38px;background:#fff;border-radius:14px;padding:34px 38px;display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;}
.gf-icon{width:58px;height:58px;border-radius:50%;background:var(--red-wash);color:var(--red);display:grid;place-items:center;}
.gf-text h3{font-size:23px;color:var(--ink);margin-bottom:6px;}
.gf-text p{color:var(--ink-soft);font-size:15px;max-width:60ch;}
.gf-cta-wrap{display:flex;flex-direction:column;gap:10px;}
.gf-btn-primary{background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:14px;padding:12px 22px;border-radius:999px;text-align:center;white-space:nowrap;}
.gf-btn-primary:hover{background:var(--red-ink);color:#fff;}
.gf-btn-secondary{display:inline-flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:600;font-size:13px;color:var(--grey);}

/* ============================================================
   ARCHIVE + SINGLE
   ============================================================ */
.archive-header{border-bottom:1px solid var(--line);}
.archive-header-inner{max-width:var(--wrap);margin:0 auto;padding:48px var(--gutter) 30px;}
.archive-cat-label{font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--red);margin-bottom:10px;}
.archive-title{font-size:46px;line-height:1;}
.archive-description{color:var(--ink-soft);font-size:16px;margin-top:12px;max-width:70ch;}
.archive-layout{display:grid;grid-template-columns:1fr 320px;gap:48px;}
.archive-layout>div:first-child{min-width:0;}
.hero-wrap{max-width:var(--wrap);margin:0 auto;padding:40px var(--gutter);}

.single-wrap{max-width:var(--wrap);margin:0 auto;padding:46px var(--gutter);}
.single-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:54px;}
.single-layout.no-side{grid-template-columns:minmax(0,760px);justify-content:center;}
.post-header{margin-bottom:26px;}
.post-cat-row{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.cat-tag{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:0.05em;text-transform:uppercase;color:var(--ink);}
.cat-tag::before{content:"";width:9px;height:9px;background:var(--red);display:inline-block;}
.post-title{font-size:44px;line-height:1.04;margin-bottom:16px;}
.post-excerpt{font-size:20px;line-height:1.45;color:var(--ink-soft);font-weight:500;margin-bottom:6px;}
.post-byline,.byline-row{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--grey);font-weight:600;margin-top:14px;font-family:var(--display);}
.post-featured{margin:24px 0;border-radius:12px;overflow:hidden;}
.post-content{font-size:18px;line-height:1.72;color:#23232a;}
.post-content p{margin:0 0 22px;}
.post-content h2{font-size:30px;margin:38px 0 14px;}
.post-content h3{font-size:23px;margin:30px 0 12px;}
.post-content a{color:var(--red);text-decoration:underline;text-underline-offset:3px;}
.post-content img{border-radius:10px;margin:24px 0;}
.post-content blockquote{border-left:4px solid var(--red);padding:6px 0 6px 22px;margin:26px 0;font-size:22px;font-weight:600;color:var(--ink);font-family:var(--display);}
.post-content ul,.post-content ol{margin:0 0 22px 22px;}
.post-content li{margin:8px 0;}
.post-tags{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.post-tags a{font-size:13px;color:var(--grey);background:var(--wash);padding:6px 12px;border-radius:999px;font-weight:600;}
.post-tags a:hover{background:var(--ink);color:#fff;}
.related-posts{margin-top:46px;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:20px;}

/* sidebar / widgets */
.sidebar .widget{margin-bottom:34px;}
.widget-head{margin-bottom:14px;border-bottom:2px solid var(--ink);padding-bottom:8px;}
.widget-title{font-size:14px;letter-spacing:0.12em;text-transform:uppercase;color:var(--red);}
.sidebar a:hover{color:var(--red);}

/* ============================================================
   FORMS / BUTTONS (generic clean)
   ============================================================ */
.btn,.btn-d2d{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:15px;padding:12px 22px;border-radius:999px;border:none;cursor:pointer;transition:background .15s;}
.btn:hover,.btn-d2d:hover{background:var(--red-ink);color:#fff;}
.btn.big{font-size:16px;padding:14px 26px;}
input[type=text],input[type=email],input[type=search],input[type=url],textarea,select{
    font-family:var(--body);font-size:15px;padding:11px 14px;border:1.5px solid var(--line);border-radius:8px;width:100%;background:#fff;color:var(--ink);
}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ink);}
label{font-family:var(--display);font-weight:700;font-size:14px;}
.form-fineprint{font-size:12.5px;color:var(--grey);}

/* opportunity apply box */
.opp-apply-box{background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);border-radius:12px;padding:24px;position:sticky;top:96px;}
.opp-apply-box .opp-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;}
.opp-apply-box .opp-row:last-of-type{border-bottom:none;}
.opp-apply-box .opp-row .k{color:var(--grey);font-weight:600;}
.opp-apply-box .opp-row .v{font-weight:700;text-align:right;color:var(--ink);}
.opp-apply-btn{display:block;text-align:center;margin-top:18px;background:var(--red);color:#fff;font-family:var(--display);font-weight:800;padding:14px;border-radius:10px;font-size:15px;transition:background .15s;}
.opp-apply-btn:hover{background:var(--red-ink);color:#fff;}

/* ============================================================
   PAGINATION / 404 / PAGE
   ============================================================ */
.pagination,.d2d-pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:40px;}
.pagination a,.pagination span,.d2d-pagination a,.d2d-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border:1.5px solid var(--line);border-radius:8px;font-family:var(--display);font-weight:700;font-size:14px;}
.pagination .current,.d2d-pagination .current{background:var(--ink);color:#fff;border-color:var(--ink);}
.pagination a:hover,.d2d-pagination a:hover{border-color:var(--red);color:var(--red);}
.page-wrap{max-width:820px;margin:0 auto;padding:50px var(--gutter);}
.page-wrap .post-content{font-size:17px;}
.error-404{max-width:720px;margin:0 auto;padding:90px var(--gutter);text-align:center;}
.error-404 h1{font-size:120px;color:var(--red);line-height:1;}
.error-404 p{font-size:18px;color:var(--ink-soft);margin:14px 0 26px;}

/* comments */
.comments-area{max-width:760px;margin:40px 0 0;}
.comments-title{font-size:24px;margin-bottom:18px;}

/* ============================================================
   FOOTER  (clean, minimal)
   ============================================================ */
.site-footer{border-top:1px solid var(--line);margin-top:30px;background:var(--paper);}
.footer-inner{max-width:var(--wrap);margin:0 auto;padding:56px var(--gutter) 30px;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.footer-brand-row{line-height:0;display:inline-block;margin-bottom:16px;}
.footer-brand-row .brand-logo-img{height:42px;}
.footer-about{color:var(--grey);font-size:14px;line-height:1.6;max-width:42ch;}
.footer-about .hindi{display:block;color:var(--ink);font-weight:600;margin-bottom:8px;}
.footer-col h4,.footer-col h5{font-size:13px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink);margin-bottom:14px;}
.footer-col ul{list-style:none;}
.footer-col li{margin:9px 0;}
.footer-col a{color:var(--grey);font-size:14px;}
.footer-col a:hover{color:var(--red);}
.footer-social{display:flex;gap:12px;margin-top:18px;}
.footer-social a{width:38px;height:38px;border:1.5px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--ink);}
.footer-social a:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.footer-company-info{margin-top:36px;padding-top:24px;border-top:1px solid var(--line);color:var(--grey);font-size:13.5px;line-height:1.6;}
.footer-company-info strong{color:var(--ink);display:block;font-family:var(--display);font-size:15px;margin-bottom:4px;}
.footer-contact-pill{display:inline-flex;align-items:center;gap:7px;margin-top:10px;border:1.5px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:600;font-size:13.5px;color:var(--ink);}
.footer-contact-pill:hover{border-color:var(--red);color:var(--red);}
.footer-bottom{max-width:var(--wrap);margin:0 auto;padding:18px var(--gutter);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--grey);}
.footer-bottom a{color:var(--grey);}
.footer-bottom a:hover{color:var(--red);}

/* legacy / misc that some templates still emit */
.utility-bar,.breaking-bar,.live-tv-btn .dot{display:none!important;}
.legal-effective{color:var(--grey);font-style:italic;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1080px){
    .hero-grid{grid-template-columns:1fr;gap:36px;}
    .justin{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:26px;}
    .stories-grid,.opp-grid,.inspiring-grid,.related-grid{grid-template-columns:repeat(2,1fr);}
    .feature-cols{grid-template-columns:1fr;gap:30px;}
    .ranked{grid-template-columns:1fr;}
    .opp-feature{grid-template-columns:1fr;}
    .single-layout,.archive-layout{grid-template-columns:1fr;}
    .opp-apply-box{position:static;}
    .get-featured-cta{grid-template-columns:1fr;text-align:left;}
}
@media(max-width:760px){
    body{font-size:16px;}
    .section-head h2,.hero-lead h1,.post-title{font-size:30px;}
    .archive-title{font-size:34px;}
    .primary-nav{position:fixed;inset:69px 0 auto 0;background:#fff;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .25s ease;margin:0;z-index:150;}
    .primary-nav.mobile-open{transform:none;}
    .primary-nav ul{flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 16px;}
    .primary-nav li{width:100%;border-bottom:1px solid var(--line);}
    .primary-nav a{display:block;padding:14px 0;font-size:17px;}
    .primary-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;border-radius:0;padding:0 0 8px 14px;min-width:0;background:transparent;}
    .primary-nav .sub-menu a{padding:10px 0;font-size:15px;color:var(--ink-soft);}
    .nav-caret{display:none;}
    .icon-btn{display:flex;}
    .masthead-actions .header-search{display:none;}
    .footer-top{grid-template-columns:1fr 1fr;gap:28px;}
}
@media(max-width:520px){
    .stories-grid,.opp-grid,.inspiring-grid,.related-grid,.footer-top{grid-template-columns:1fr;}
    .footer-bottom{flex-direction:column;}
}

/* reduced motion + focus */
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:2px;}

/* ---- single byline + share (minimal) ---- */
.post-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13.5px;color:var(--grey);font-weight:600;font-family:var(--display);margin-top:6px;}
.post-meta .author-mini{display:flex;align-items:center;gap:9px;}
.post-meta .author-mini img,.author-mini .avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;}
.post-meta .sep{width:3px;height:3px;border-radius:50%;background:var(--grey-2);display:inline-block;}
.post-share{display:flex;align-items:center;gap:10px;margin:22px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.post-share span{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--grey);}
.post-share a{width:38px;height:38px;border:1.5px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--ink);}
.post-share a:hover{background:var(--red);border-color:var(--red);color:#fff;}
.related-posts h3{font-size:24px;margin-bottom:6px;}
.site-content{min-height:50vh;}

/* ---- extra responsive polish ---- */
@media(max-width:760px){
    .masthead{gap:12px;padding:13px 18px;}
    .brand-logo-img{height:38px;}
    .btn-opp{padding:9px 14px;font-size:13px;}
    .hero{padding:24px 18px 4px;}
    .block{padding:38px 18px;}
    .opp-zone-inner{padding:42px 18px;}
    .inspiring-inner{padding:46px 18px;}
    .section-head{margin-bottom:20px;}
    .marker{font-size:17px;}
    .opp-feature .ofw-body{padding:26px 22px;}
    .opp-feature h3{font-size:24px;}
    .opp-feature .ofw-side{padding:22px;}
    .opp-feature .ofw-days{font-size:54px;}
    .hero-lead h1{font-size:27px;}
    .post-content{font-size:16.5px;}
    .archive-header-inner,.single-wrap{padding-left:18px;padding-right:18px;}
    .get-featured-cta{padding:24px;}
}
@media(max-width:420px){
    .btn-opp span,.btn-opp{font-size:0;padding:9px;gap:0;}
    .btn-opp svg{width:16px;height:16px;}
    .opp-rail .opp-card{min-width:260px;}
    .error-404 h1{font-size:84px;}
}
/* image aspect safety for older browsers */
.story-card .img img,.hero-lead .ratio img,.inspiring-card .inspiring-img img{display:block;width:100%;height:100%;object-fit:cover;}

/* ---- sidebar widgets (minimal) ---- */
.most-read-item{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);}
.most-read-item:last-child{border-bottom:none;}
.most-read-num{font-family:var(--display);font-weight:900;font-size:24px;line-height:1;color:var(--red);min-width:26px;}
.most-read-text strong{display:block;font-family:var(--display);font-weight:700;font-size:15.5px;line-height:1.2;color:var(--ink);}
.most-read-item:hover .most-read-text strong{color:var(--red);}
.most-read-text .meta{font-size:12px;color:var(--grey);margin-top:5px;display:block;}
.tags-list{display:flex;flex-wrap:wrap;gap:8px;}
.tag-chip{font-size:13px;font-weight:600;color:var(--ink-soft);background:var(--wash);border:1px solid var(--line);padding:6px 11px;border-radius:999px;}
.tag-chip:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.sidebar-cta{background:var(--wash);border:1px solid var(--line);border-radius:12px;padding:22px;}
.sidebar-cta h3{font-size:20px;margin-bottom:8px;}
.sidebar-cta p{font-size:14px;color:var(--ink-soft);margin-bottom:14px;line-height:1.5;}
/* hide any legacy news sidebar bits if they appear */
.live-tv-card,.now-playing{display:none!important;}

/* ============================================================
   OPPORTUNITIES ARCHIVE FILTER BAR (Unstop-inspired)
   ============================================================ */
.opp-filter-bar{display:flex;flex-direction:column;gap:16px;padding:22px;background:var(--wash);border:1px solid var(--line);border-radius:14px;margin-bottom:20px;}
.opp-filter-group{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;}
.opp-filter-label{font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--grey);padding-top:8px;min-width:74px;}
.opp-filter-chips{display:flex;flex-wrap:wrap;gap:8px;flex:1;}
.opp-chip{font-family:var(--display);font-weight:700;font-size:13px;padding:7px 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink-soft);transition:all .15s;}
.opp-chip:hover{border-color:var(--red);color:var(--red);}
.opp-chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff;}
.opp-result-count{font-size:14px;color:var(--grey);margin-bottom:18px;font-family:var(--display);font-weight:600;}
.opp-result-count strong{color:var(--ink);}

/* ============================================================
   TRUST / STATS BAR (social proof)
   ============================================================ */
.stats-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.stats-inner{max-width:var(--wrap);margin:0 auto;padding:26px var(--gutter);display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.stat{display:flex;flex-direction:column;gap:3px;}
.stat-num{font-family:var(--display);font-weight:900;font-size:34px;line-height:1;color:var(--ink);letter-spacing:-0.02em;}
.stat-num .accent{color:var(--red);}
.stat-label{font-size:13px;color:var(--grey);font-weight:600;}

/* ============================================================
   NEWSLETTER BAND (email capture — best practice)
   ============================================================ */
.newsletter-band{background:var(--ink);}
.newsletter-inner{max-width:var(--wrap);margin:0 auto;padding:52px var(--gutter);display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;}
.newsletter-copy h2{color:#fff;font-size:32px;line-height:1.05;margin-bottom:10px;}
.newsletter-copy h2 .accent{color:var(--red);}
.newsletter-copy p{color:rgba(255,255,255,0.66);font-size:16px;max-width:50ch;}
.newsletter-form{display:flex;gap:10px;flex-wrap:wrap;}
.newsletter-form input[type=email]{flex:1;min-width:200px;background:rgba(255,255,255,0.08);border:1.5px solid rgba(255,255,255,0.18);color:#fff;border-radius:999px;padding:14px 20px;font-size:15px;}
.newsletter-form input[type=email]::placeholder{color:rgba(255,255,255,0.5);}
.newsletter-form input[type=email]:focus{border-color:var(--red);background:rgba(255,255,255,0.12);}
.newsletter-form button{background:var(--red);color:#fff;border:none;font-family:var(--display);font-weight:800;font-size:15px;padding:14px 26px;border-radius:999px;cursor:pointer;transition:background .15s;white-space:nowrap;}
.newsletter-form button:hover{background:#fff;color:var(--ink);}
.newsletter-fineprint{color:rgba(255,255,255,0.45);font-size:12.5px;margin-top:12px;}

@media(max-width:900px){
    .stats-inner{grid-template-columns:repeat(2,1fr);gap:20px;}
    .newsletter-inner{grid-template-columns:1fr;gap:22px;}
    .opp-filter-label{min-width:0;padding-top:0;}
    .opp-filter-group{flex-direction:column;gap:8px;}
}
@media(max-width:520px){
    .stat-num{font-size:27px;}
}

/* ============================================================
   TOP 20 THIS WEEK — designed image boxes, magazine grid
   ============================================================ */
.top20{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.top20-inner{max-width:var(--wrap);margin:0 auto;padding:52px var(--gutter);}
.top20-head-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.top20-note{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:0.04em;text-transform:uppercase;color:var(--grey);}
.top20-dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(216,31,36,.5);animation:pulse 1.8s infinite;}
.top20-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:168px;gap:14px;}
.top20-card{position:relative;display:block;border-radius:12px;overflow:hidden;background:var(--ink);box-shadow:0 1px 0 rgba(0,0,0,0.04);}
.top20-card.is-featured{grid-column:span 2;grid-row:span 2;}
.top20-img{position:absolute;inset:0;display:block;}
.top20-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.top20-card:hover .top20-img img{transform:scale(1.05);}
.top20-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,12,0) 38%,rgba(11,11,12,0.86) 100%);}
.top20-rank{position:absolute;top:10px;left:10px;z-index:2;font-family:var(--display);font-weight:900;font-size:17px;line-height:1;color:#fff;background:var(--red);padding:6px 9px;border-radius:7px;letter-spacing:-0.02em;}
.top20-card.is-featured .top20-rank{font-size:24px;padding:9px 13px;}
.top20-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:14px;display:flex;flex-direction:column;gap:5px;}
.top20-cat{font-family:var(--display);font-weight:800;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:#fff;opacity:0.82;}
.top20-title{font-family:var(--display);font-weight:800;font-size:14.5px;line-height:1.16;color:#fff;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.top20-card.is-featured .top20-title{font-size:26px;line-height:1.06;-webkit-line-clamp:4;}
.top20-card.is-featured .top20-cat{font-size:12px;}
@media(max-width:980px){
    .top20-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:150px;}
    .top20-card.is-featured{grid-column:span 2;grid-row:span 2;}
}
@media(max-width:680px){
    .top20-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px;}
    .top20-card.is-featured{grid-column:span 2;grid-row:span 1;}
    .top20-card.is-featured .top20-title{font-size:18px;-webkit-line-clamp:2;}
}
@media(max-width:440px){
    .top20-grid{grid-template-columns:1fr 1fr;grid-auto-rows:128px;}
    .top20-title{font-size:13px;}
}

/* ============================================================
   BROWSE BY CATEGORY — designed tiles
   ============================================================ */
.cat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.cat-tile{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:128px;padding:20px;border-radius:14px;border:1px solid var(--line);background:#fff;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;position:relative;overflow:hidden;}
.cat-tile:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(17,17,20,0.08);border-color:transparent;}
.cat-tile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .2s ease;}
.cat-tile:hover::before{transform:scaleY(1);}
.cat-tile-name{font-family:var(--display);font-weight:800;font-size:19px;line-height:1.1;color:var(--ink);}
.cat-tile-meta{display:flex;align-items:center;justify-content:space-between;}
.cat-tile-count{font-family:var(--display);font-weight:700;font-size:12.5px;color:var(--grey);}
.cat-tile-arrow{width:30px;height:30px;border-radius:50%;background:var(--wash);display:grid;place-items:center;color:var(--ink);transition:background .16s,color .16s;}
.cat-tile:hover .cat-tile-arrow{background:var(--red);color:#fff;}
@media(max-width:900px){.cat-tiles{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.cat-tiles{grid-template-columns:1fr;}}

/* ============================================================
   EDITOR'S PICKS — curated spotlight row
   ============================================================ */
.picks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.pick-card{display:flex;gap:16px;align-items:flex-start;}
.pick-num{font-family:var(--display);font-weight:900;font-size:40px;line-height:0.85;color:var(--line);min-width:54px;-webkit-text-stroke:1px var(--grey-2);}
.pick-card:hover .pick-num{color:var(--red);-webkit-text-stroke:0;}
.pick-body h3{font-size:19px;line-height:1.16;font-weight:800;margin-bottom:6px;}
.pick-card:hover .pick-body h3{color:var(--red);}
.pick-body .meta{font-size:12.5px;color:var(--grey);font-weight:600;}
@media(max-width:900px){.picks-grid{grid-template-columns:1fr;gap:6px;}.pick-card{padding:14px 0;border-bottom:1px solid var(--line);}}
