:root{
  --dsbu-blue:#2762AC;
  --dsbu-blue-2:#27ADE4;
  --dsbu-gold:#C8943C;
  --dsbu-ink:#111827;
  --dsbu-text:#26364A;
  --dsbu-muted:#667085;
  --dsbu-soft:#F5F8FC;
  --dsbu-card:#FFFFFF;
  --dsbu-border:rgba(17,24,39,.08);
  --dsbu-border-blue:rgba(39,98,172,.13);
  --dsbu-shadow:0 14px 42px rgba(17,24,39,.07);
  --dsbu-shadow-hover:0 22px 60px rgba(17,24,39,.11);
  --dsbu-radius:24px;
  --dsbu-font:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

/* =========================================================
   DORIN SIJAJ BLOG UX — CLEAN MOBILE-FIRST CSS
   All typography is scoped so theme H1/H2 styles do not leak in.
   ========================================================= */

.dsbu-archive,
.dsbu-single{
  font-family:var(--dsbu-font);
  color:var(--dsbu-ink);
  background:linear-gradient(180deg,#fff 0%,#f7fbff 46%,#fff 100%);
  overflow-x:clip;
  text-align:left;
}

.dsbu-archive *,
.dsbu-single *{
  box-sizing:border-box;
}

.dsbu-shell{
  width:min(1180px,calc(100% - 24px));
  margin-inline:auto;
}

/* Strong heading reset inside plugin */
.dsbu-archive :where(h1,h2,h3,h4,p),
.dsbu-single :where(h1,h2,h3,h4,p){
  font-family:var(--dsbu-font);
  margin-block-start:0;
  text-transform:none;
}

.dsbu-archive :where(h1,h2,h3),
.dsbu-single :where(h1,h2,h3){
  color:var(--dsbu-ink);
}

/* ---------- shared small text ---------- */
.dsbu-kicker,
.dsbu-upsell-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--dsbu-blue);
}

.dsbu-card-meta,
.dsbu-single-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px 12px;
  align-items:center;
  color:#61718a;
  font-size:11px !important;
  line-height:1.25 !important;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}

/* =========================================================
   ARCHIVE
   ========================================================= */

.dsbu-archive{
  padding:22px 0 54px;
}

.dsbu-archive-hero{
  position:relative;
  overflow:hidden;
  text-align:center;
  border:1px solid var(--dsbu-border-blue);
  border-radius:24px;
  padding:20px 16px;
  background:
    radial-gradient(circle at 12% 0%,rgba(39,173,228,.15),transparent 38%),
    radial-gradient(circle at 90% 100%,rgba(200,148,60,.11),transparent 34%),
    rgba(255,255,255,.86);
  box-shadow:0 12px 36px rgba(17,24,39,.055);
  backdrop-filter:blur(16px);
}

.dsbu-archive-hero h1{
  max-width:760px;
  margin:9px auto 7px !important;
  font-size:28px !important;
  line-height:1.08 !important;
  letter-spacing:-.045em;
  font-weight:700;
  text-wrap:balance;
}

.dsbu-archive-hero p{
  max-width:620px;
  margin:0 auto !important;
  color:var(--dsbu-muted);
  font-size:14px !important;
  line-height:1.58 !important;
  font-weight:500;
}

/* ---------- filters ---------- */
.dsbu-filterbar{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:16px 1px 5px;
  margin:0 0 12px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}

.dsbu-filterbar::-webkit-scrollbar{
  display:none;
}

.dsbu-filter{
  flex:0 0 auto;
  scroll-snap-align:start;
  text-decoration:none;
  color:var(--dsbu-blue);
  background:rgba(255,255,255,.92);
  border:1px solid var(--dsbu-border-blue);
  border-radius:999px;
  padding:8px 12px;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:850;
  box-shadow:0 8px 22px rgba(17,24,39,.045);
  transition:transform .24s ease,background .24s ease,color .24s ease,border-color .24s ease;
}

.dsbu-filter:hover,
.dsbu-filter.is-active{
  background:var(--dsbu-blue);
  color:#fff;
  border-color:transparent;
  transform:translateY(-1px);
}

/* ---------- archive grid/cards ---------- */
.dsbu-post-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:12px;
}

.dsbu-card{
  overflow:hidden;
  border:1px solid var(--dsbu-border);
  border-radius:22px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--dsbu-shadow);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}

.dsbu-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--dsbu-shadow-hover);
  border-color:rgba(39,98,172,.18);
}

.dsbu-card-media{
  display:block;
  aspect-ratio:4/3;
  background:
    radial-gradient(circle at 24% 12%,rgba(39,173,228,.14),transparent 42%),
    linear-gradient(135deg,#f6fbff,#fff7e8);
  overflow:hidden;
  text-decoration:none;
}

.dsbu-card-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}

.dsbu-card:hover .dsbu-card-media img{
  transform:scale(1.035);
}

.dsbu-card-placeholder{
  height:100%;
  display:grid;
  place-items:center;
  color:var(--dsbu-blue);
  font-size:13px !important;
  font-weight:900;
}

.dsbu-card-body{
  padding:14px 14px 15px;
}

.dsbu-card h2{
  margin:8px 0 6px !important;
  font-size:16px !important;
  line-height:1.24 !important;
  letter-spacing:-.03em;
  font-weight:750;
}

.dsbu-card h2 a,
.dsbu-readmore,
.dsbu-upsell h3 a{
  color:inherit;
  text-decoration:none;
}

.dsbu-card p{
  margin:0 0 11px !important;
  color:var(--dsbu-muted);
  font-size:13px !important;
  line-height:1.55 !important;
  font-weight:500;
}

.dsbu-readmore{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--dsbu-blue);
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:850;
}

.dsbu-readmore span{
  transition:transform .22s ease;
}

.dsbu-readmore:hover span{
  transform:translateX(3px);
}

.dsbu-pagination{
  margin-top:24px;
}

.dsbu-pagination ul{
  display:flex;
  justify-content:center;
  gap:7px;
  list-style:none;
  padding:0;
  margin:0;
}

.dsbu-pagination a,
.dsbu-pagination span{
  display:grid;
  place-items:center;
  min-width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid var(--dsbu-border-blue);
  background:#fff;
  color:var(--dsbu-blue);
  text-decoration:none;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:850;
}

.dsbu-pagination .current{
  background:var(--dsbu-blue);
  color:#fff;
}

.dsbu-empty{
  padding:24px;
  border:1px solid var(--dsbu-border);
  border-radius:22px;
  background:#fff;
  text-align:center;
  color:var(--dsbu-muted);
}

/* =========================================================
   SINGLE
   ========================================================= */

.dsbu-single{
  padding:14px 0 64px;
}

.dsbu-single-shell{
  max-width:1180px;
}

.dsbu-breadcrumbs{
  display:flex;
  align-items:center;
  gap:8px;
  margin:4px 0 14px;
  color:var(--dsbu-muted);
  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:750;
}

.dsbu-breadcrumbs a{
  color:var(--dsbu-blue);
  text-decoration:none;
}

.dsbu-single-hero{
  border:1px solid var(--dsbu-border-blue);
  border-radius:24px;
  padding:22px 17px;
  background:
    radial-gradient(circle at 12% 0%,rgba(39,173,228,.14),transparent 36%),
    radial-gradient(circle at 92% 100%,rgba(200,148,60,.12),transparent 34%),
    rgba(255,255,255,.9);
  box-shadow:0 12px 36px rgba(17,24,39,.055);
}

.dsbu-post-cats{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 12px;
}

.dsbu-post-cats a{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(39,98,172,.08);
  color:var(--dsbu-blue);
  font-size:11px !important;
  line-height:1 !important;
  font-weight:850;
}

/* Single title: explicit size, never theme H1 */

.dsbu-single-hero h1 {
    max-width: 860px;
    margin: 0 0 12px !important;
    font-size: 21px !important;
    line-height: 1.08 !important;
    letter-spacing: -.045em;
    font-weight: 700;
    text-wrap: balance;
}

.dsbu-single-excerpt{
  max-width:720px;
  margin:0 0 14px !important;
  color:var(--dsbu-muted);
  font-size:15px !important;
  line-height:1.62 !important;
  font-weight:500;
}

.dsbu-featured-image{
  margin:16px 0 0;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 40px rgba(17,24,39,.08);
}

.dsbu-featured-image img{
  display:block;
  width:100%;
  height:auto;
  max-height:430px;
  object-fit:cover;
}

.dsbu-single-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  margin-top:18px;
}

.dsbu-content{
  background:#fff;
  border:1px solid var(--dsbu-border);
  border-radius:22px;
  padding:22px 18px;
  box-shadow:0 12px 36px rgba(17,24,39,.05);
  max-width:100%;
}

.dsbu-content > *:first-child{
  margin-top:0 !important;
}

.dsbu-content :where(p,li){
  font-size:15.5px !important;
  line-height:1.76 !important;
  color:var(--dsbu-text);
  font-weight:500;
}

.dsbu-content p{
  margin:0 0 1.25em !important;
}

.dsbu-content h2{
  margin:1.45em 0 .62em !important;
  font-size:23px !important;
  line-height:1.16 !important;
  letter-spacing:-.035em;
  font-weight:850;
}

.dsbu-content h3{
  margin:1.28em 0 .55em !important;
  font-size:19px !important;
  line-height:1.2 !important;
  letter-spacing:-.025em;
  font-weight:850;
}

.dsbu-content h4{
  margin:1.2em 0 .5em !important;
  font-size:17px !important;
  line-height:1.25 !important;
  font-weight:850;
}

.dsbu-content :where(ul,ol){
  margin:0 0 1.35em;
  padding-left:1.25em;
}

.dsbu-content li{
  margin:.42em 0;
}

.dsbu-content strong{
  font-weight:850;
  color:var(--dsbu-ink);
}

.dsbu-content a{
  color:var(--dsbu-blue);
  font-weight:800;
  text-underline-offset:3px;
}

.dsbu-content img{
  max-width:100%;
  height:auto;
  border-radius:18px;
  box-shadow:0 12px 34px rgba(17,24,39,.075);
}

.dsbu-content blockquote{
  margin:24px 0;
  padding:18px 18px 18px 20px;
  border-left:3px solid var(--dsbu-gold);
  border-radius:18px;
  background:#fff9ef;
  color:#3d2b13;
}

.dsbu-content blockquote p{
  color:inherit;
}

/* ---------- upsell ---------- */
.dsbu-sidebar{
  order:-1;
}

.dsbu-upsell{
  border:1px solid rgba(39,98,172,.14);
  border-radius:22px;
  background:rgba(255,255,255,.95);
  box-shadow:0 14px 42px rgba(17,24,39,.075);
  overflow:hidden;
}

.dsbu-upsell-inner{
  padding:15px;
}

.dsbu-upsell-image{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:132px;
  margin:11px 0;
  border-radius:18px;
  background:
    radial-gradient(circle at 70% 20%,rgba(200,148,60,.13),transparent 42%),
    linear-gradient(135deg,#f5fbff,#fff8eb);
  text-decoration:none;
  overflow:hidden;
}

.dsbu-upsell-image img{
  display:block;
  max-width:80%;
  max-height:132px;
  object-fit:contain;
  filter:drop-shadow(0 12px 18px rgba(17,24,39,.12));
}

.dsbu-upsell h3{
  margin:0 0 8px !important;
  font-size:18px !important;
  line-height:1.18 !important;
  letter-spacing:-.032em;
  font-weight:850;
}

.dsbu-rating{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
}

.dsbu-rating span{
  color:var(--dsbu-gold);
  font-size:12px !important;
  letter-spacing:.7px;
}

.dsbu-rating small{
  color:var(--dsbu-muted);
  font-size:12px !important;
  font-weight:800;
}

.dsbu-price{
  margin:7px 0 12px;
  color:var(--dsbu-ink);
  font-size:17px !important;
  line-height:1.2 !important;
  font-weight:850;
}

.dsbu-price del{
  color:#98A2B3;
  font-size:14px !important;
  font-weight:700;
  margin-right:6px;
}

.dsbu-price ins{
  text-decoration:none;
}

.dsbu-upsell-actions{
  display:grid;
  gap:8px;
}

.dsbu-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:11px 15px;
  border-radius:999px;
  text-decoration:none;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:850;
  transition:transform .24s ease,box-shadow .24s ease,background .24s ease;
}

.dsbu-btn:hover{
  transform:translateY(-1px);
}

.dsbu-btn-primary {
    background: linear-gradient(135deg, #fbfbfb, #fcd14d);
    color: #fff;
    box-shadow: 0 12px 28px rgba(39, 98, 172, .24);
}

.dsbu-btn-ghost{
  background:#fff;
  color:var(--dsbu-blue);
  border:1px solid var(--dsbu-border-blue);
}

/* =========================================================
   TABLET
   ========================================================= */

@media (min-width:700px){
  .dsbu-shell{
    width:min(1180px,calc(100% - 40px));
  }

  .dsbu-archive{
    padding:32px 0 68px;
  }

  .dsbu-archive-hero,
  .dsbu-single-hero{
    border-radius:28px;
    padding:28px 26px;
  }

  .dsbu-archive-hero h1{
    font-size:34px !important;
  }

  .dsbu-archive-hero p,
  .dsbu-single-excerpt{
    font-size:16px !important;
  }

  .dsbu-post-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
  }

  .dsbu-card-body{
    padding:16px;
  }

  .dsbu-card h2{
    font-size:17px !important;
    line-height:1.24 !important;
  }

  .dsbu-single-hero h1{
    font-size:38px !important;
  }

  .dsbu-content{
    padding:32px 30px;
  }

  .dsbu-content :where(p,li){
    font-size:16.5px !important;
  }

  .dsbu-content h2{
    font-size:26px !important;
  }

  .dsbu-content h3{
    font-size:21px !important;
  }

  .dsbu-featured-image{
    border-radius:26px;
  }

  .dsbu-upsell-inner{
    padding:17px;
  }

  .dsbu-upsell-image{
    min-height:158px;
  }

  .dsbu-upsell-image img{
    max-height:158px;
  }
}

/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width:1024px){
  .dsbu-shell{
    width:min(1180px,calc(100% - 64px));
  }

  .dsbu-archive{
    padding:42px 0 78px;
  }

  .dsbu-archive-hero{
    padding:22px 30px;
    border-radius:28px;
  }

  .dsbu-archive-hero h1{
    font-size:42px !important;
    line-height:1.08 !important;
  }

  .dsbu-filterbar{
    padding-top:22px;
    margin-bottom:18px;
  }

  .dsbu-post-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
  }

  .dsbu-card-body{
    padding:17px;
  }

  .dsbu-card h2{
    font-size:18px !important;
    line-height:1.22 !important;
    max-width:96%;
  }

  .dsbu-card p{
    font-size:14px !important;
  }

  .dsbu-single{
    padding:22px 0 82px;
  }

  .dsbu-single-hero{
    padding:36px 42px;
    border-radius:32px;
  }

  .dsbu-single-hero h1 {
        font-size: 36px !important;
        line-height: 1.0 !important;
        max-width: 800px;
    }

  .dsbu-single-excerpt{
    font-size:17px !important;
  }

  .dsbu-featured-image{
    margin-top:22px;
    border-radius:28px;
  }

  .dsbu-featured-image img{
    max-height:540px;
  }

  .dsbu-single-layout{
    grid-template-columns:minmax(0,720px) 320px;
    justify-content:center;
    align-items:start;
    gap:42px;
    margin-top:32px;
  }

  .dsbu-content{
    border-radius:26px;
    padding:44px 46px;
  }

  .dsbu-content :where(p,li){
    font-size:17px !important;
    line-height:1.82 !important;
  }

  .dsbu-content h2{
    font-size:29px !important;
  }

  .dsbu-content h3{
    font-size:22px !important;
  }

  .dsbu-content h4{
    font-size:18px !important;
  }

  .dsbu-sidebar{
    order:0;
    position:sticky;
    top:120px;
  }

  .dsbu-upsell{
    border-radius:24px;
  }

  .dsbu-upsell-inner{
    padding:17px;
  }

  .dsbu-upsell-image{
    min-height:164px;
  }

  .dsbu-upsell-image img{
    max-height:164px;
  }

  .dsbu-upsell h3{
    font-size:19px !important;
  }

  .dsbu-price{
    font-size:18px !important;
  }
}

@media (min-width:1200px){
  .dsbu-single-layout{
    grid-template-columns:minmax(0,740px) 330px;
    gap:48px;
  }

  .dsbu-content{
    padding:48px 52px;
  }

  .dsbu-card h2{
    font-size:18px !important;
  }
}
