/* =========================================================
   Tech Blog
   ========================================================= */

body.page-template-template-tech-blog,
body.page-template-template-tech-blog-php{
  background:#1d1b1b;
}

body.page-template-template-tech-blog .ws-bc-wrap,
body.page-template-template-tech-blog-php .ws-bc-wrap{
  margin-bottom:0;
}

.tech-blog,
.ws-blog,
#techblog-list{
  --tech-blog-bg:#1d1b1b;
  --tech-blog-text:#f5f7fa;
  --tech-blog-text-muted:rgba(255,255,255,.94);
  --tech-blog-border:rgba(255,255,255,.16);
  --tech-blog-border-strong:rgba(255,220,39,.55);
  --tech-blog-accent:#ffdc27;
  --tech-blog-overlay:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.22) 24%, rgba(0,0,0,.72) 56%, rgba(0,0,0,.96) 100%);
  --tech-blog-card-radius:22px;
  --tech-blog-card-gap:24px;
  --tech-blog-wrap-width:1440px;
  --tech-blog-cut:24px;

  background:var(--tech-blog-bg);
  color:var(--tech-blog-text);
}

.tech-blog__wrap,
.ws-blog__wrap{
  max-width:var(--tech-blog-wrap-width);
  margin:0 auto;
  padding:18px 20px 40px;
}

.tech-blog__head,
.ws-blog__head{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
  margin-bottom:34px;
}

.tech-blog__title,
.ws-blog__title{
  margin:0;
  color:var(--tech-blog-text) !important;
  font-family:var(--font-head, "Roboto Slab", serif);
  font-size:clamp(28px, 4vw, 44px);
  line-height:1.12;
  font-weight:800;
}

.tech-blog__count,
.ws-blog__count,
.tech-blog__title .tech-blog__count,
.ws-blog__title .ws-blog__count{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-width:32px;
  height:32px;
  margin-left:8px;
  padding:0 8px;
  border:1px solid var(--tech-blog-border);
  border-radius:999px;
  color:var(--tech-blog-text) !important;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:16px;
  line-height:1;
  white-space:nowrap;
  position:relative;
  top:0;
  vertical-align:middle;
}

.tech-blog__pills,
.ws-pills{
  display:none !important;
}

.tech-blog__pill,
.ws-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border:1px solid var(--tech-blog-border);
  border-radius:999px;
  color:var(--tech-blog-text);
  text-decoration:none;
  font-family:var(--font-body, "Montserrat", sans-serif);
}

.tech-blog__pill span,
.ws-pill span{
  opacity:.6;
}

.tech-blog__filter-button,
.ws-filter__btn{
  margin-left:auto;
  min-width:0;
  box-shadow:none;
}

/* =========================================================
   Grid
   ========================================================= */

.tech-blog__grid,
.ws-blog__grid{
  display:grid;
  gap:var(--tech-blog-card-gap);
  margin-top:16px;
  grid-template-columns:repeat(auto-fill, minmax(360px, 1fr));
}

@media (min-width:1320px){
  .tech-blog__grid,
  .ws-blog__grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    justify-content:stretch;
  }
}

@media (max-width:980px){
  .tech-blog__grid,
  .ws-blog__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:640px){
  .tech-blog__grid,
  .ws-blog__grid{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   Card
   ========================================================= */

.tech-blog__card,
:where(.tech-blog, .ws-blog, #techblog-list) .ws-card{
  position:relative;
  display:flex;
  flex-direction:column;
  overflow:hidden !important;
  border:0 !important;
  border-radius:var(--tech-blog-card-radius) !important;
  background:transparent !important;
}

.tech-blog__card-thumb,
:where(.tech-blog, .ws-blog, #techblog-list) .ws-card__thumb{
  position:relative;
  z-index:0;
  display:block;
  width:100%;
  aspect-ratio:16 / 10;
  overflow:hidden !important;
  border-radius:var(--tech-blog-card-radius) !important;
  background:#000 !important;
}

.tech-blog__card-image,
:where(.tech-blog, .ws-blog, #techblog-list) .ws-card__img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.tech-blog__card-tag,
:where(.tech-blog, .ws-blog, #techblog-list) .ws-card__tag{
  position:absolute;
  top:12px;
  left:12px;
  z-index:4;
  padding:4px 8px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(15,17,21,.72);
  color:#fff;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:12px;
  line-height:1.1;
  font-weight:700;
}

.tech-blog__card-overlay,
:where(.tech-blog, .ws-blog, #techblog-list) .ws-card__overlay{
  position:absolute;
  inset:auto 0 0 0;
  z-index:1;
  height:78%;
  pointer-events:none;
  background:var(--tech-blog-overlay);
}

.tech-blog__card-caption,
:where(.tech-blog, .ws-blog, #techblog-list) .ws-card__caption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  pointer-events:none;
}

.tech-blog__card-body,
:where(.tech-blog, .ws-blog, #techblog-list) .ws-card__body{
  display:none !important;
}

.tech-blog__card-title,
:where(.tech-blog, .ws-blog, #techblog-list) .ws-card__title,
:where(.tech-blog, .ws-blog, #techblog-list) .ws-card__title a,
:where(.tech-blog, .ws-blog, #techblog-list) .ws-card__title a:visited{
  margin:0;
  display:inline;
  align-self:flex-start;
  width:auto;
  max-width:100%;
  padding:2px 8px 4px;
  border-radius:8px;
  background:var(--tech-blog-accent);
  color:#000 !important;
  -webkit-text-fill-color:#000 !important;
  font-family:var(--font-head, "Roboto Slab", serif);
  font-size:24px;
  line-height:1.08;
  font-weight:800;
  text-decoration:none !important;
  text-shadow:none;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}

.tech-blog__card-title a,
.tech-blog__card-title a:visited,
:where(.tech-blog, .ws-blog, #techblog-list) .ws-card__title a,
:where(.tech-blog, .ws-blog, #techblog-list) .ws-card__title a:visited{
  padding:0;
  background:transparent;
  border-radius:0;
}

.tech-blog__card-excerpt,
:where(.tech-blog, .ws-blog, #techblog-list) .ws-card__excerpt{
  margin:0 !important;
  padding:0 !important;
  color:var(--tech-blog-text-muted) !important;
  font-family:var(--font-body, "Montserrat", sans-serif);
  font-size:14px !important;
  line-height:1.45 !important;
  text-shadow:0 2px 10px rgba(0,0,0,.24);
  min-height:0;
  display:-webkit-box;
  overflow:hidden;
  text-overflow:ellipsis;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}

.tech-blog__card-button,
:where(.tech-blog, .ws-blog, #techblog-list) .ws-card__btn{
  display:none !important;
}

/* =========================================================
   More
   ========================================================= */

.tech-blog__more,
.ws-blog__more{
  display:none !important;
}

.tech-blog__more > a.ws-btn,
.ws-blog__more > a.ws-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  inline-size:240px !important;
  block-size:46px !important;
  margin:14px auto 0 !important;
  background:#fdfff5 !important;
}

/* =========================================================
   Filter Panel
   ========================================================= */

.ws-no-scroll{
  overflow:hidden;
}

.tech-blog__filter,
.ws-filter{
  position:fixed;
  inset:0 0 0 auto;
  z-index:1000;
  display:flex;
  justify-content:flex-end;
  background:rgba(0,0,0,.42);
}

.tech-blog__filter[hidden],
.ws-filter[hidden]{
  display:none;
}

.tech-blog__filter-form,
.ws-filter__form{
  position:relative;
  width:min(420px, 92vw);
  height:100%;
  overflow:auto;
  border-left:2px solid var(--tech-blog-accent);
  padding:64px 16px 16px;
  background:#1d1b1b;
  color:#fff;
}

.tech-blog__filter-close,
.ws-filter__close{
  position:absolute;
  top:12px;
  right:12px;
  width:36px;
  height:36px;
  border:1px solid var(--tech-blog-accent);
  border-radius:8px;
  background:#1d1b1b;
  color:#fff;
  line-height:1;
  cursor:pointer;
}

body.admin-bar .tech-blog__filter-close,
body.admin-bar .ws-filter__close{
  top:48px;
}

.tech-blog__filter-title,
.tech-blog__filter-title *,
.ws-filter__title,
.ws-filter__title *,
.tech-blog__filter-list,
.ws-filter__list,
.tech-blog__filter-list span,
.ws-filter__list span,
.tech-blog__filter-list em,
.ws-filter__list em,
.tech-blog__filter-form a,
.ws-filter__form a{
  color:#fff !important;
}

.tech-blog__filter-title,
.ws-filter__form .ws-filter__title{
  color:#fff !important;
  -webkit-text-fill-color:#fff;
}

.tech-blog__check,
.ws-check{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid var(--tech-blog-border-strong);
  border-radius:10px;
  background:rgba(255,255,255,.03);
}

.tech-blog__check-count,
.ws-check em{
  margin-left:auto;
  color:var(--tech-blog-accent) !important;
  font-style:normal;
}

.tech-blog__check input,
.ws-check input{
  accent-color:var(--tech-blog-accent);
}

.tech-blog__filter-actions,
.ws-filter__actions{
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid rgba(255,220,39,.3);
}

.tech-blog__filter-actions-row,
.ws-filter__actions-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.tech-blog__filter-actions .ws-btn--ghost,
.ws-filter__actions .ws-btn--ghost,
.tech-blog__filter-actions button[type="submit"],
.ws-filter__actions button[type="submit"]{
  display:none !important;
}

/* =========================================================
   Empty
   ========================================================= */

.tech-blog__empty,
.ws-blog__empty{
  color:var(--tech-blog-text) !important;
  font-family:var(--font-body, "Montserrat", sans-serif);
}

/* =========================================================
   Mobile
   ========================================================= */

@media (max-width:640px){
  .tech-blog__wrap,
  .ws-blog__wrap{
    padding:14px 16px 32px;
  }

  .tech-blog__head,
  .ws-blog__head{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:12px;
  }

  .tech-blog__title,
  .ws-blog__title{
    font-size:clamp(20px, 5.2vw, 24px);
    line-height:1.15;
  }

  .tech-blog__count,
  .ws-blog__count{
    height:auto;
    min-width:0;
    padding:8px 12px;
    font-size:12px;
    line-height:1.1;
    top:-1px;
  }

  .tech-blog__card,
  :where(.tech-blog, .ws-blog, #techblog-list) .ws-card,
  .tech-blog__card-thumb,
  :where(.tech-blog, .ws-blog, #techblog-list) .ws-card__thumb{
    border-radius:18px !important;
  }

  .tech-blog__card-caption,
  :where(.tech-blog, .ws-blog, #techblog-list) .ws-card__caption{
    left:16px;
    right:16px;
    bottom:14px;
    gap:8px;
  }

  .tech-blog__card-title,
  :where(.tech-blog, .ws-blog, #techblog-list) .ws-card__title{
    font-size:clamp(17px, 5.4vw, 21px);
    line-height:1.2;
  }

  .tech-blog__card-excerpt,
  :where(.tech-blog, .ws-blog, #techblog-list) .ws-card__excerpt{
    font-size:14px;
    line-height:1.45;
  }

  #wsFilterPanel.tech-blog__filter,
  #wsFilterPanel.ws-filter{
    inset:0;
    justify-content:flex-end;
  }

  #wsFilterPanel .tech-blog__filter-form,
  #wsFilterPanel .ws-filter__form{
    width:100vw;
    max-width:100vw;
    margin:0 !important;
    box-sizing:border-box;
    border-top:2px solid var(--tech-blog-accent);
    border-left:0;
    padding:56px 12px 16px;
  }

  #wsFilterPanel .tech-blog__filter-close,
  #wsFilterPanel .ws-filter__close{
    top:10px;
    right:10px;
  }

  #wsFilterPanel .tech-blog__filter-title,
  #wsFilterPanel .ws-filter__title{
    margin:0 42px 14px 0 !important;
    padding:0 !important;
    font-size:clamp(24px, 6vw, 30px);
    line-height:1.1;
  }

  #wsFilterPanel .tech-blog__filter-list,
  #wsFilterPanel .ws-filter__list{
    display:grid;
    gap:10px;
  }

  #wsFilterPanel .tech-blog__check,
  #wsFilterPanel .ws-check{
    width:100%;
    box-sizing:border-box;
    padding:10px;
    border-radius:12px;
    align-items:center;
  }

  #wsFilterPanel .tech-blog__check input,
  #wsFilterPanel .ws-check input{
    margin-top:0;
    flex:0 0 auto;
  }
}
