/* Jubliz plugins: release calendar, streaming guide, trailers, stars, titles,
   most covered, two cities, web stories. Same Twin Star tokens as jubliz.css. */
.jp-head .jp-hgrid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}
.jp-head h1 em{font-style:normal;background:var(--twin);-webkit-background-clip:text;background-clip:text;color:transparent}
.jp-head .eyebrow a{text-decoration:none}
@media(max-width:820px){.jp-head .jp-hgrid{grid-template-columns:1fr}}

/* filter chips */
.jp-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.jp-chips button{font:600 14px/1 var(--body);padding:10px 16px;border-radius:99px;border:1.5px solid var(--line);
  background:#fff;color:var(--ink2);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.jp-chips button:hover{border-color:var(--magenta)}
.jp-chips button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.jp-month{font-size:clamp(22px,2.6vw,30px);margin:34px 0 14px;display:flex;align-items:center;gap:14px}
.jp-month::after{content:"";flex:1;height:2px;background:var(--twin);opacity:.35;border-radius:2px}
.jp-note{color:var(--mut);font-size:14px;margin-top:26px;max-width:70ch}
.jp-empty{color:var(--mut)}

/* release / streaming rows */
.jp-list{display:grid;gap:14px}
.jp-rel{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:18px;align-items:start;background:#fff;
  border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}
.jp-rel:hover{transform:translateY(-2px)}
.jp-rel[hidden]{display:none}
.jp-date{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:16px;padding:8px 4px;
  background:linear-gradient(160deg,var(--marigold-wash),var(--magenta-wash));color:var(--plum);text-transform:uppercase;
  font:700 12px/1.1 var(--body);letter-spacing:.06em}
.jp-date b{font:800 30px/1 var(--display);letter-spacing:-.03em;margin:2px 0}
.jp-rbody h3{font-size:clamp(19px,2vw,23px);margin:0 0 4px}
.jp-rbody h3 a:hover{color:var(--magenta-ink)}
.jp-rbody p{margin:6px 0 0;color:var(--ink2);font-size:16px}
.jp-meta{color:var(--mut)!important;font-size:14px!important;font-weight:600}
.jp-cast{font-size:15px!important}
.jp-acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:14px!important;font-weight:600}
.jp-acts time{color:var(--ink)}
.jp-tent{background:var(--marigold-wash);color:var(--marigold-ink);border-radius:99px;padding:3px 10px;font-size:12px}
.jp-cd:not(:empty){background:var(--magenta-wash);color:var(--magenta-ink);border-radius:99px;padding:3px 10px;font-size:12px}
.jp-ics{display:inline-flex;align-items:center;gap:6px;text-decoration:none!important;color:var(--magenta-ink)}
.jp-ics svg{width:16px}
.jp-ics:hover{text-decoration:underline!important}
.jp-rtr{width:220px}
.jp-plat{display:inline-block;font:700 11px/1 var(--body);text-transform:uppercase;letter-spacing:.08em;padding:5px 9px;border-radius:6px;
  background:var(--ink);color:#fff;margin-bottom:8px}
.jp-plat[data-p="netflix"]{background:#B20710}
.jp-plat[data-p="prime-video"]{background:#0F79AF}
.jp-plat[data-p="jiohotstar"]{background:#1A2C6B}
.jp-plat[data-p="zee5"]{background:#5B1F8A}
.jp-plat[data-p="sonyliv"]{background:#2B2B2B}
.jp-plat[data-p="apple-tv"]{background:#111}
@media(max-width:760px){
  .jp-rel{grid-template-columns:62px minmax(0,1fr);padding:14px;gap:14px}
  .jp-date b{font-size:24px}
  .jp-rtr{grid-column:1/-1;width:100%}
}

/* YouTube lite embed */
.jp-yt{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:14px;overflow:hidden;
  background:var(--plum);cursor:pointer}
.jp-yt img{width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .3s;opacity:.92}
.jp-yt:hover img{transform:scale(1.04);opacity:1}
.jp-ytplay{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;
  background:var(--twin);color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.jp-ytplay svg{width:24px;margin-left:3px}
.jp-ytlab{position:absolute;left:10px;top:10px;background:rgba(42,10,30,.75);color:#fff;font:700 11px/1 var(--body);
  text-transform:uppercase;letter-spacing:.08em;padding:5px 8px;border-radius:6px}
.jp-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.jp-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.jp-tile{margin:0}
.jp-tile[hidden]{display:none}
.jp-tile figcaption{display:flex;flex-direction:column;padding:10px 4px 0}
.jp-tile figcaption b{font:750 19px/1.2 var(--display)}
.jp-tile figcaption span{color:var(--mut);font-size:14px}
@media(max-width:400px){.jp-wall{grid-template-columns:1fr}}

/* stars + titles */
.jp-mono{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;background:var(--twin);color:#fff;
  font:800 64px/1 var(--display);letter-spacing:-.04em;box-shadow:var(--shadow)}
.jp-mono.sm{width:44px;height:44px;font-size:17px;flex:none}
.jp-two{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:start}
@media(max-width:860px){.jp-two{grid-template-columns:1fr}.jp-mono{width:120px;height:120px;font-size:44px}}
.jp-who h2,.jp-side h2{font-size:24px;margin:0 0 12px}
.jp-side h2+*{margin-bottom:26px}
.jp-credits{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.jp-credits li{display:flex;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.jp-credits a{font-weight:700}
.jp-credits span{color:var(--mut);font-size:14px;text-align:right}
.jp-tags{display:flex;flex-wrap:wrap;gap:8px}
.jp-tags a{background:#fff;border:1px solid var(--line);border-radius:99px;padding:6px 12px;font-size:14px;font-weight:600}
.jp-tags a:hover{border-color:var(--magenta);color:var(--magenta-ink)}
.jp-letters{display:flex;flex-wrap:wrap;gap:6px;position:sticky;top:0;z-index:5;background:var(--cream);padding:10px 0}
.jp-letters a{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#fff;border:1px solid var(--line);font-weight:700}
.jp-letters a:hover{background:var(--ink);color:#fff}
.jp-az{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.jp-az a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 14px;transition:border-color .2s}
.jp-az a:hover{border-color:var(--magenta)}
.jp-az .jp-mono{grid-row:1/3}
.jp-az b{font-family:var(--display);font-size:17px}
.jp-az span:not(.jp-mono){grid-column:2;color:var(--mut);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jp-az i{grid-row:1/3;grid-column:3;font-style:normal;font-weight:700;font-size:13px;color:var(--magenta-ink);background:var(--magenta-wash);border-radius:99px;padding:3px 9px}
.jp-poster{width:220px;aspect-ratio:2/3;border-radius:18px;background:linear-gradient(160deg,var(--marigold),var(--magenta) 70%,var(--plum));
  color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;box-shadow:var(--shadow)}
.jp-poster span{font:700 12px/1 var(--body);text-transform:uppercase;letter-spacing:.1em;opacity:.85}
.jp-poster b{font:800 26px/1.05 var(--display);margin-top:8px}
.jp-htr{width:min(460px,100%)}
@media(max-width:820px){.jp-poster{width:150px}.jp-htr{width:100%}}
.jp-facts{margin:0;display:grid;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.jp-facts div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;padding:14px 18px;border-top:1px solid var(--line)}
.jp-facts div:first-child{border-top:0}
.jp-facts dt{font-weight:700;color:var(--mut);font-size:14px;text-transform:uppercase;letter-spacing:.05em}
.jp-facts dd{margin:0;font-weight:600}
@media(max-width:520px){.jp-facts div{grid-template-columns:1fr;gap:2px}}
.jp-cd-big:not(:empty){font:800 clamp(28px,4vw,44px)/1.05 var(--display);background:var(--twin);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 0 16px}
.jp-side .btn svg{width:18px}

/* born today */
.jp-born{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);min-width:280px;max-width:360px}
.jp-born h2{font-size:20px;margin:0 0 10px;display:flex;align-items:center;gap:8px}
.jp-born h2::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--twin)}
.jp-bl{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.jp-bl a{display:flex;align-items:center;gap:10px;font-weight:700}
.jp-bl a:hover{color:var(--magenta-ink)}
.jp-bl small{display:block;font-weight:500;color:var(--mut);font-size:13px}
.jp-bnote{color:var(--mut);font-size:14px;margin:0 0 8px}
.jp-born-home{max-width:none;min-width:0;margin-top:18px;box-shadow:none}

/* boards */
.jp-tabs{display:inline-flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:4px;margin-bottom:20px}
.jp-tabs button{font:700 15px/1 var(--body);border:0;background:none;padding:10px 18px;border-radius:99px;cursor:pointer;color:var(--ink2)}
.jp-tabs button[aria-selected="true"]{background:var(--ink);color:#fff}
.jp-board,.jp-mini{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.jp-board a{display:grid;grid-template-columns:40px minmax(120px,240px) minmax(0,1fr) 44px;align-items:center;gap:14px;background:#fff;
  border:1px solid var(--line);border-radius:14px;padding:12px 16px}
.jp-board a:hover{border-color:var(--magenta)}
.jp-rk{font:800 22px/1 var(--display);color:var(--magenta-ink)}
.jp-board b{font-family:var(--display);font-size:18px}
.jp-bar{height:10px;border-radius:99px;background:var(--cream2);position:relative;overflow:hidden}
.jp-bar::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--twin);border-radius:99px}
.jp-board i,.jp-mini i{font-style:normal;font-weight:700;text-align:right;color:var(--mut)}
@media(max-width:600px){.jp-board a{grid-template-columns:30px minmax(0,1fr) 36px}.jp-bar{display:none}}
.jp-mini a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px;font-weight:700}
.jp-mini .jp-rk{font-size:17px}

/* home band */
.jp-bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.jp-bcol h3{font-size:20px;margin:0 0 14px}
.jp-bcol h3 a{display:inline-flex;align-items:center;gap:8px}
.jp-bcol h3 svg{width:18px;color:var(--magenta)}
.jp-bcol .jp-rel,.jp-city .jp-rel{grid-template-columns:58px minmax(0,1fr);padding:12px;gap:12px;box-shadow:none}
.jp-bcol .jp-date b,.jp-city .jp-date b{font-size:22px}
.jp-bcol .jp-rbody h3,.jp-city .jp-rbody h3{font-size:17px;margin:0}
.jp-bcol .jp-plat,.jp-city .jp-plat{margin-bottom:4px;font-size:10px}
@media(max-width:980px){.jp-bgrid{grid-template-columns:1fr}}

/* two cities */
.jp-cgrid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.jp-city{border-radius:26px;padding:22px;border:1px solid var(--line)}
.jp-city.mum{background:linear-gradient(180deg,var(--marigold-wash),#fff 40%)}
.jp-city.la{background:linear-gradient(180deg,var(--magenta-wash),#fff 40%)}
.jp-ch{display:grid;grid-template-columns:1fr auto;align-items:baseline;margin-bottom:6px}
.jp-ch span{font:800 clamp(28px,3.4vw,40px)/1 var(--display);letter-spacing:-.03em}
.jp-ch b{font:700 18px/1 var(--body);font-variant-numeric:tabular-nums;color:var(--ink2)}
.jp-ch p{grid-column:1/-1;margin:6px 0 0;color:var(--mut);font-size:15px}
.mum .jp-ch span{color:var(--marigold-ink)}
.la .jp-ch span{color:var(--magenta-ink)}
.jp-city>h3{font-size:18px;margin:24px 0 10px}
.jp-heads{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.jp-heads a{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-weight:600;text-decoration:none!important}
.jp-heads a:hover{border-color:var(--magenta)}
@media(max-width:860px){.jp-cgrid{grid-template-columns:1fr}}

/* web stories index */
.jp-wsgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.jp-ws{position:relative;aspect-ratio:9/16;border-radius:20px;overflow:hidden;background:var(--plum);box-shadow:var(--shadow)}
.jp-ws img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.jp-ws:hover img{transform:scale(1.05)}
.jp-ws::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(42,10,30,.9))}
.jp-ws b{position:absolute;left:16px;right:16px;bottom:16px;z-index:1;color:#fff;font:800 19px/1.15 var(--display)}
@media(max-width:460px){.jp-wsgrid{grid-template-columns:1fr 1fr;gap:12px}.jp-ws b{font-size:15px;left:10px;right:10px;bottom:10px}}

/* topic links under stories */
.tags li a{text-decoration:none!important;color:inherit}
.tags li a:hover{color:var(--magenta-ink)}

/* star directory */
.jp-face{border-radius:50%;object-fit:cover;background:var(--cream2);box-shadow:var(--shadow);width:180px;height:180px}
.jp-face.sm,.jp-mono.sm{width:44px;height:44px;box-shadow:none;flex:none}
.jp-face.big{width:220px;height:220px}
.jp-portrait{margin:0;text-align:center;max-width:260px}
.jp-portrait figcaption{font-size:12px;color:var(--mut);margin-top:10px;line-height:1.4}
.jp-portrait figcaption a{text-decoration:underline}
@media(max-width:820px){.jp-face.big{width:150px;height:150px}.jp-portrait{text-align:left}}
.jp-faces{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:22px 18px}
.jp-faces a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
.jp-faces .jp-face,.jp-faces .jp-mono{width:132px;height:132px;margin-bottom:8px;transition:transform .3s}
.jp-faces .jp-mono{font-size:44px}
.jp-faces a:hover .jp-face,.jp-faces a:hover .jp-mono{transform:scale(1.05)}
.jp-faces b{font-family:var(--display);font-size:16px;line-height:1.2}
.jp-faces span{font-size:12px;color:var(--mut)}
@media(max-width:460px){.jp-faces{grid-template-columns:repeat(3,1fr);gap:16px 10px}.jp-faces .jp-face,.jp-faces .jp-mono{width:92px;height:92px}.jp-faces b{font-size:14px}}
.jp-az .jp-face.sm{grid-row:1/3}
.jp-az li[hidden]{display:none}
.jp-search{position:relative;max-width:640px;margin:0 0 22px}
.jp-search input{width:100%;font:500 18px/1.2 var(--body);padding:16px 20px;border-radius:99px;border:2px solid var(--line);background:#fff}
.jp-search input:focus{outline:none;border-color:var(--magenta)}
.jp-results{list-style:none;margin:8px 0 0;padding:6px;position:absolute;left:0;right:0;z-index:20;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);max-height:60vh;overflow:auto}
.jp-results a{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:8px 10px;border-radius:12px}
.jp-results a:hover{background:var(--magenta-wash)}
.jp-results img{grid-row:1/3;border-radius:50%;object-fit:cover;width:40px;height:40px}
.jp-results b{grid-column:2}
.jp-results span{grid-column:2;font-size:13px;color:var(--mut)}
.jp-results .none{padding:10px;color:var(--mut)}
.jp-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.jp-cats a{display:inline-flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:99px;padding:8px 14px;font-weight:700;font-size:14px}
.jp-cats a:hover{border-color:var(--magenta)}
.jp-cats i{font-style:normal;color:var(--magenta-ink);font-size:12px}
.jp-peers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.jp-peers a{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px}
.jp-peers a:hover{color:var(--magenta-ink)}
.jp-who .jp-facts{margin-top:22px}
.jp-facts ul{margin:0;padding-left:18px}
.jp-bl img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none}
.jp-sband .jp-faces{grid-template-columns:repeat(6,1fr)}
@media(max-width:980px){.jp-sband .jp-faces{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.jp-sband .jp-faces{grid-template-columns:repeat(3,1fr)}}

/* in the news */
.jp-board>li{display:grid;grid-template-columns:44px minmax(0,1fr) 150px;gap:16px;align-items:start;background:#fff;
  border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.jp-nrow h3{font-size:20px;margin:2px 0 4px}
.jp-nrow h3 a:hover{color:var(--magenta-ink)}
.jp-nrow p{margin:0 0 4px;color:var(--ink2);font-size:15px}
.jp-nk{font:700 12px/1.2 var(--body)!important;text-transform:uppercase;letter-spacing:.06em;color:var(--magenta-ink)!important}
.jp-nl{font-size:14px!important;color:var(--mut)!important}
.jp-ncount{text-align:right;display:flex;flex-direction:column;gap:4px}
.jp-ncount b{font:800 28px/1 var(--display);color:var(--ink)}
.jp-ncount span{font-size:12px;color:var(--mut)}
.jp-ncount .jp-bar{height:8px;display:block}
@media(max-width:640px){.jp-board>li{grid-template-columns:32px minmax(0,1fr)}.jp-ncount{grid-column:2;text-align:left;flex-direction:row;align-items:baseline;gap:8px}.jp-ncount .jp-bar{display:none}}
.jp-mini a span:not(.jp-rk){display:flex;flex-direction:column;line-height:1.25}
.jp-mini small{font-weight:500;color:var(--mut);font-size:12px}
.jp-mini i{font-size:12px;white-space:nowrap}
