/*
 * PT Blog — Premium Dark Magazine Design
 * PluginTheme v5.0.6
 * Author: Joynal Abdin | devjoynal.com
 */

/* ══ Base ══ */
.ptb-page {
background: #080c18;
min-height: 100vh;
color: #e2e8f0;
font-family: "DM Sans", system-ui, sans-serif;
}

/* ══ Container 90% ══ */
.ptb-container { max-width:90%;width:90%;margin:0 auto;padding:0; }
@media(max-width:1200px){ .ptb-container{ max-width:94%;width:94%; } }
@media(max-width:768px){  .ptb-container{ max-width:96%;width:96%; } }
@media(max-width:480px){  .ptb-container{ max-width:97%;width:97%; } }

/* ══ Hero ══ */
.ptb-hero {
padding: 80px 0 60px;
position: relative;
overflow: hidden;
background: #080c18;
}
.ptb-hero::before {
content:"";position:absolute;inset:0;pointer-events:none;
background:
        radial-gradient(ellipse 50% 60% at 20% 50%, rgba(99,102,241,.14) 0%, transparent 70%),
        radial-gradient(ellipse 40% 50% at 80% 50%, rgba(236,72,153,.08) 0%, transparent 70%);
}
.ptb-hero::after {
content:"";position:absolute;bottom:0;left:0;right:0;height:1px;
background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);
}
.ptb-hero__inner { position:relative;z-index:1;text-align:center; }
.ptb-hero__tag {
display:inline-flex;align-items:center;gap:6px;
background:rgba(99,102,241,.12);border:1px solid rgba(99,102,241,.25);
color:#a5b4fc;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
padding:5px 16px;border-radius:999px;margin-bottom:20px;
}
.ptb-hero__title {
font-size:clamp(2.2rem,5vw,3.5rem);font-weight:900;color:#f1f5f9;
margin:0 0 16px;letter-spacing:-.03em;line-height:1.1;
font-family:"Outfit","Plus Jakarta Sans",system-ui,sans-serif;
}
.ptb-hero__title span {
background:linear-gradient(135deg,#818cf8,#a78bfa 40%,#f472b6);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.ptb-hero__sub {
color:rgba(241,245,249,.42);font-size:1.05rem;
max-width:480px;margin:0 auto;line-height:1.75;
}

/* ══ Sticky Filter ══ */
.ptb-filter-wrap {
background:rgba(8,12,24,.92);
backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
border-bottom:1px solid rgba(255,255,255,.06);
padding:16px 0;position:sticky;top:0;z-index:100;
}
.ptb-filter { display:flex;gap:8px;flex-wrap:wrap;align-items:center; }
.ptb-filter__btn {
display:inline-flex;align-items:center;gap:5px;
padding:7px 16px;border-radius:999px;font-size:.8rem;font-weight:600;
text-decoration:none;transition:.2s;cursor:pointer;
background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
color:rgba(241,245,249,.55);
}
.ptb-filter__btn:hover { background:rgba(99,102,241,.12);border-color:rgba(99,102,241,.3);color:#a5b4fc; }
.ptb-filter__btn.active {
background:linear-gradient(135deg,rgba(99,102,241,.2),rgba(139,92,246,.15));
border-color:rgba(99,102,241,.4);color:#c4b5fd;
}
.ptb-filter__count {
background:rgba(255,255,255,.08);border-radius:999px;
padding:1px 7px;font-size:.68rem;font-weight:700;
}

/* ══ Posts section ══ */
.ptb-posts-section { padding:48px 0 80px; }

/* ══ Grid 4-col ══ */
.ptb-grid {
display:grid;
grid-template-columns:repeat(4,1fr);
gap:22px;
margin-bottom:56px;
}
@media(max-width:1200px){ .ptb-grid{ grid-template-columns:repeat(3,1fr);gap:18px; } }
@media(max-width:900px){  .ptb-grid{ grid-template-columns:repeat(2,1fr);gap:16px; } }
@media(max-width:540px){  .ptb-grid{ grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; } }

/* ══ Card ══ */
.ptb-card {
background:var(--ptb-card-bg,#12172b);
border-radius:18px;
overflow:hidden;
display:flex;flex-direction:column;
border:1px solid rgba(255,255,255,.07);
transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s;
position:relative;
}
.ptb-card::before {
content:"";
position:absolute;inset:0;border-radius:18px;
background:linear-gradient(135deg,rgba(255,255,255,.04) 0%,transparent 60%);
pointer-events:none;z-index:1;
opacity:0;transition:opacity .3s;
}
.ptb-card:hover {
transform:translateY(-6px) scale(1.01);
box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.1);
}
.ptb-card:hover::before { opacity:1; }

/* ── Image wrap ── */
.ptb-card__img-wrap {
position:relative;aspect-ratio:16/9;overflow:hidden;
display:block;text-decoration:none;flex-shrink:0;
}
.ptb-card__img {
width:100%;height:100%;object-fit:cover;object-position:center;
display:block;transition:transform .5s cubic-bezier(.25,.46,.45,.94);
}
.ptb-card:hover .ptb-card__img { transform:scale(1.08); }
.ptb-card__img-wrap::after {
content:"";
position:absolute;inset:0;
background:linear-gradient(to top, rgba(0,0,0,.65) 0%, transparent 55%);
pointer-events:none;
}
.ptb-card__no-img {
width:100%;aspect-ratio:16/9;min-height:140px;
display:flex;align-items:center;justify-content:center;font-size:3rem;
background:linear-gradient(135deg,var(--ptb-card-bg,#12172b),rgba(255,255,255,.03));
}

/* ── Wishlist btn ── */
.ptb-card__wish {
position:absolute;top:12px;right:12px;
width:34px;height:34px;border-radius:50%;
background:rgba(0,0,0,.4);backdrop-filter:blur(8px);
border:1px solid rgba(255,255,255,.15);
color:rgba(255,255,255,.7);
display:flex;align-items:center;justify-content:center;
cursor:pointer;transition:.2s;z-index:3;
}
.ptb-card__wish:hover { background:rgba(239,68,68,.4);border-color:rgba(239,68,68,.5);color:#fff;transform:scale(1.1); }
.ptb-card__wish.saved { background:rgba(239,68,68,.5);color:#fff; }
.ptb-card__wish.saved svg { fill:#fff;stroke:#fff; }

/* ── Category badge ── */
.ptb-card__cat {
position:absolute;bottom:10px;left:10px;z-index:3;
background:rgba(0,0,0,.55);backdrop-filter:blur(6px);
color:var(--ptb-card-accent,#a78bfa);
font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
padding:3px 10px;border-radius:999px;
border:1px solid rgba(255,255,255,.1);
white-space:nowrap;
}

/* ── Card body ── */
.ptb-card__body {
padding:16px 18px 18px;flex:1;
display:flex;flex-direction:column;gap:8px;
position:relative;z-index:2;
}
.ptb-card__title {
font-size:.93rem;font-weight:700;line-height:1.45;margin:0;
color:#f1f5f9;
display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
font-family:"Outfit",system-ui,sans-serif;
transition:color .2s;
}
.ptb-card__title a { color:inherit;text-decoration:none; }
.ptb-card:hover .ptb-card__title { color:var(--ptb-card-accent,#a78bfa); }

/* ── Meta ── */
.ptb-card__meta {
display:flex;align-items:center;gap:5px;
flex-wrap:wrap;margin-top:auto;padding-top:8px;
border-top:1px solid rgba(255,255,255,.06);
}
.ptb-card__author { font-size:.75rem;font-weight:700;color:var(--ptb-card-accent,#a78bfa);white-space:nowrap; }
.ptb-card__sep { color:rgba(241,245,249,.2);font-size:.75rem; }
.ptb-card__date { font-size:.73rem;color:rgba(241,245,249,.38);white-space:nowrap; }

/* ══ Pagination ══ */
.ptb-pagination {
display:flex;align-items:center;justify-content:center;
gap:8px;flex-wrap:wrap;
}
.ptb-pagination__btn {
display:inline-flex;align-items:center;justify-content:center;
min-width:44px;height:44px;padding:0 14px;
border-radius:12px;font-size:.9rem;font-weight:600;
text-decoration:none;
background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);
color:rgba(241,245,249,.65);transition:.2s;cursor:pointer;
}
.ptb-pagination__btn:hover { background:rgba(99,102,241,.15);border-color:rgba(99,102,241,.35);color:#a5b4fc; }
.ptb-pagination__btn--active {
background:linear-gradient(135deg,#2d8a9e,#3aa6bd);
border-color:transparent;color:#fff;
box-shadow:0 4px 18px rgba(99,102,241,.45);
}
.ptb-pagination__dots { color:rgba(241,245,249,.25);font-size:.9rem;padding:0 4px; }

/* ══ No posts ══ */
.ptb-no-posts { text-align:center;padding:80px 20px; }
.ptb-no-posts__icon { font-size:3rem;margin-bottom:16px; }
.ptb-no-posts p { color:rgba(241,245,249,.4);margin-bottom:20px; }

/* ══ Utility ══ */
.ptb-link-plain { color:inherit;text-decoration:none; }
.ptb-inline-flex-mt { display:inline-flex;margin-top:12px; }

/* ══ Responsive ══ */
@media(max-width:768px){
.ptb-hero{ padding:52px 0 36px; }
.ptb-filter-wrap{ position:static; }
.ptb-posts-section{ padding:32px 0 52px; }
.ptb-card{ border-radius:14px; }
.ptb-card__body{ padding:13px 14px 15px; }
.ptb-card__title{ font-size:.88rem; }
.ptb-pagination__btn{ min-width:38px;height:38px;font-size:.85rem; }
}
@media(max-width:480px){
.ptb-hero{ padding:38px 0 26px; }
.ptb-card__body{ padding:11px 12px 13px; }
}

/* ── Blog Search ── */
.ptb-filter-wrap > .ptb-container { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.ptb-search-form { margin-left:auto; }
.ptb-search-wrap {
display:flex; align-items:center; gap:8px;
background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
border-radius:999px; padding:6px 14px; transition:border-color .2s;
}
.ptb-search-wrap:focus-within { border-color:rgba(99,102,241,.4); }
.ptb-search-wrap svg { color:rgba(241,245,249,.35); flex-shrink:0; }
.ptb-search-input {
background:transparent; border:none; outline:none;
color:#f1f5f9; font-size:.82rem; width:160px; font-family:inherit;
}
.ptb-search-input::placeholder { color:rgba(241,245,249,.3); }
@media(max-width:600px){
.ptb-search-form { width:100%; }
.ptb-search-wrap { border-radius:10px; }
.ptb-search-input { width:100%; }
}

/* ── v6.4.50: author avatar + read time meta ── */
.ptb-card__meta { flex-direction:column; align-items:flex-start; gap:8px; }
.ptb-card__author-wrap { display:flex; align-items:center; gap:8px; }
.ptb-card__avatar {
  width:28px; height:28px; border-radius:50%;
  object-fit:cover; flex-shrink:0;
  border:1.5px solid var(--ptb-card-accent, #a78bfa);
  background:rgba(255,255,255,.05);
}
.ptb-card__meta-row {
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  font-size:.72rem; color:rgba(241,245,249,.55);
}
.ptb-card__date, .ptb-card__read {
  display:inline-flex; align-items:center; gap:4px;
  white-space:nowrap;
}
.ptb-card__read { color:rgba(241,245,249,.5); }
.ptb-card__date svg, .ptb-card__read svg { opacity:.7; }
@media (max-width:480px){
  .ptb-card__avatar { width:24px; height:24px; }
  .ptb-card__meta-row { font-size:.68rem; gap:9px; }
}

/* ── v6.4.51: avatar initials fallback ── */
.ptb-card__avatar-wrap {
  position:relative;
  width:28px; height:28px;
  flex-shrink:0;
  border-radius:50%;
  overflow:hidden;
  border:1.5px solid var(--ptb-card-accent, #a78bfa);
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--ptb-card-accent, #a78bfa) 35%, transparent),
    color-mix(in srgb, var(--ptb-card-accent, #a78bfa) 10%, transparent));
  display:inline-flex; align-items:center; justify-content:center;
}
.ptb-card__avatar-fallback {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:.68rem; font-weight:800; line-height:1;
  color:#fff; letter-spacing:.02em;
  font-family:"Outfit",system-ui,sans-serif;
  text-transform:uppercase;
  user-select:none;
}
.ptb-card__avatar-wrap .ptb-card__avatar {
  position:relative; z-index:2;
  width:100%; height:100%;
  object-fit:cover;
  border:0; /* border lives on wrapper now */
  background:transparent;
}
