/*
	Theme Name: Hello Biz
	Theme URI: https://elementor.com/products/hello-biz/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Hello Biz is a free, user-friendly Hybrid WordPress Theme that was crafted for seamless integration with the Elementor site builder and tailored specifically for business websites. Perfect for beginners, but far from limited to just them, it features a dedicated beginner-oriented “Home” screen to simplify and streamline the web-building process. Hello Biz also integrates with Elementor’s premium features, giving you access to tools like AI, and accessibility enhancements in one place. Whether launching a startup site or refining a company portfolio, Hello Biz offers a solid, responsive foundation for all web creators. Report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team validates, triages, and handles vulnerabilities. Report here: https://patchstack.com/database/wordpress/theme/hello-biz/vdp.
	Author: Elementor Team
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Version: 1.2.0
	Stable tag: 1.2.0
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: hello-biz
	Tags: flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready, style-variations
*/

.container{max-width:1200px;margin:0 auto;padding:24px}
.albums-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.albums-grid__card{background:#1111;border-radius:12px;overflow:hidden}
.albums-grid__cover img{display:block;width:100%;height:auto;object-fit:cover}
.albums-grid__title{margin:10px 12px 6px;font-size:1rem}
.albums-grid__desc{margin:0 12px 14px;color:#666}

.album__grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.album__item img{display:block;width:100%;height:auto;object-fit:cover}
.album__photo-title{margin:8px 10px 12px;font-size:.95rem}

.photo-view__figure img{width:70%;height:auto;border-radius:12px;display:block}
.photo-view__cap{margin-top:8px;color:#555}
.photo-view__nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 24px}
.breadcrumbs{margin-bottom:12px;opacity:.85}
.pagination{margin-top:20px}


/* Masonry-сітка альбомів (до 5 у рядок, великі плитки) */
.albums-masonry {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 18px;
  margin: 20px 0 40px;
  max-width: 100%;
}

/* максимум 5 колонок на дуже широких екранах */
@media (min-width: 1600px) { .albums-masonry { grid-template-columns: repeat(5, 1fr); } }
@media (max-width: 1400px) { .albums-masonry { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 1024px) { .albums-masonry { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px)  { .albums-masonry { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .albums-masonry { grid-template-columns: 1fr; } }

/* Плитка альбому: темна, без заокруглень, без рамок */
.album-card{
  position: relative;
  overflow: hidden;
  border-radius: 0;         /* прибрали заокруглення */
  background: #0f1216;      /* темніший фон */
  outline: none;            /* прибрали будь-які рамки */
  box-shadow: 0 2px 14px rgba(0,0,0,.08);
  transform: translateZ(0); /* краще для анімацій */
}

/* Фото: на всю ширину + базове затемнення */
.album-card__img{
  width: 100% !important;
  height: auto !important;
  display: block;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  filter: brightness(.9);         /* зробили темніше в базі */
  transition: transform .25s ease, filter .25s ease;
}

/* Темне оверлей-затемнення (ще темніше на hover) */
.album-card::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(to bottom, rgba(0,0,0,.15), rgba(0,0,0,.25));
  opacity: .9; /* базове затемнення поверх картинки */
  pointer-events:none;
  transition: opacity .25s ease;
}

/* Ховер-ефект: ще темніше + легке збільшення зображення */
.album-card:hover .album-card__img{
  transform: scale(1.03);   /* невеличке збільшення */
  filter: brightness(.95);
}
.album-card:hover::after{
  opacity: 1;               /* трохи сильніше затемнення */
}

/* Бейдж (назва + кількість) — контраст на темному фоні */
.album-chip{
  position: absolute;
  left: 10px; bottom: 10px;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 12px;
  border-radius: 4px;
  background: rgba(0, 0, 0, .55); /* темний чип під темну плитку */
  color: #fff;
  font-weight: 700; font-size: 15px; line-height: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,.25);
}
.album-chip strong{ font-weight: 700; }
.album-chip .album-count{ opacity: .9; }

/* фото: без обрізання, темніє лише при наведенні */
.albums-masonry .album-card__img{
  width:100% !important;
  height:auto !important;
  display:block;
  /* прибираємо примусове співвідношення сторін */
  aspect-ratio: 9 / 16!important;
  filter:none !important;
  transition: transform .25s ease, filter .25s ease;
  background:#0f1216; /* колір “підкладки” для порожніх полів по краях */
}

.albums-masonry .album-card::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,.15), rgba(0,0,0,.35));
  opacity:0; transition:opacity .25s ease; pointer-events:none;
}

.albums-masonry .album-card:hover .album-card__img{ transform:scale(1.03); }
.albums-masonry .album-card:hover::after{ opacity:.9; }

/* ширший контейнер усередині альбому (як у списку альбомів) */
.tax-album main.container{
  max-width: 1500px;
  margin: 0 auto;
  padding: 24px 16px;
}

/* СІТКА усередині альбому — до 5 у рядок */
.tax-album .album__grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 18px;
  margin: 20px 0 40px;
}
@media (min-width:1600px){ .tax-album .album__grid{ grid-template-columns: repeat(5, 1fr); } }
@media (max-width:1400px){ .tax-album .album__grid{ grid-template-columns: repeat(4, 1fr); } }
@media (max-width:1024px){ .tax-album .album__grid{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width:720px){  .tax-album .album__grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width:480px){  .tax-album .album__grid{ grid-template-columns: 1fr; } }

/* КАРТКА фото: темна, без заокруглення, з hover-ефектом */
.tax-album .album__item{
  position: relative;
  overflow: hidden;
  background: #0f1216;
  border-radius: 0;
  box-shadow: 0 2px 14px rgba(0,0,0,.08);
}
.tax-album .album__link{ display:block; color:inherit; text-decoration:none; }

/* зображення на всю плитку (рівні картки 4:3) */
.tax-album .album__item img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit: cover !important;
  aspect-ratio: 9 / 16 !important;
  transition: transform .25s ease, filter .25s ease;
}

/* затемнення тільки на hover */
.tax-album .album__item::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(to bottom, rgba(0,0,0,.15), rgba(0,0,0,.35));
  opacity:0; pointer-events:none; transition:opacity .25s ease;
}
.tax-album .album__item:hover img{ transform: scale(1.03); }
.tax-album .album__item:hover::after{ opacity:.9; }

/* чіп із назвою поста (твій <h2 class="album__photo-title">) */
.tax-album .album__photo-title{
  position:absolute; left:10px; bottom:10px;
  margin:0; padding:7px 12px;
  background: rgba(0,0,0,.55);
  color:#fff; font-weight:700; font-size:15px; line-height:1;
  border-radius:4px;
  max-width: calc(100% - 20px);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}

/* трохи звужуємо сам контейнер на сторінці поста */
.single-gallery main.container {
  max-width: 1100px !important;
  margin: 0 auto;
  padding: 20px;
}
.single-gallery .photo-view__figure{
  margin: 0 auto 20px;
}
.single-gallery .photo-view__figure img{
  display:block; border-radius:10px; object-fit:cover;
  margin-left: auto;
    margin-right: auto;
}

.pv-prev a.is-disabled, .pv-next a.is-disabled { opacity:.4; pointer-events:none; }
.album__link.is-current img { outline:2px solid #ff3b8f; outline-offset:2px; }
.photo-view__figure img { transition: opacity .25s ease; }

/* ===== Modern nav pills for single gallery ===== */
:root{
  --nav-accent: #e64a7a;          /* акцент (під твій рожевий) */
  --nav-fg: #0f172a;              /* колір тексту на світлій темі */
  --nav-bg: rgba(17, 25, 40, .06);
  --nav-bd: rgba(17, 25, 40, .18);
  --nav-hover: rgba(230, 74, 122, .10);
}

/* Контейнер навігації: 3 колонки — ліво / центр / право */
.single-gallery .photo-view__nav{
  max-width: 900px;
  margin: 8px auto 26px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
}

/* Розкладка елементів */
.single-gallery .pv-prev{  justify-self: start; }
.single-gallery .pv-back{  justify-self: center; }
.single-gallery .pv-next{  justify-self: end;   }

/* Пігулки */
.single-gallery .photo-view__nav a{
  --shadow: 0 1px 2px rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,.35);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--nav-bg);
  border: 1px solid var(--nav-bd);
  color: var(--nav-fg);
  text-decoration: none;
  font-weight: 700;
  letter-spacing: .2px;
  box-shadow: var(--shadow);
  transition: background .2s ease, border-color .2s ease, transform .15s ease, box-shadow .2s ease;
}

/* Ховер/фокус */
.single-gallery .photo-view__nav a:hover,
.single-gallery .photo-view__nav a:focus-visible{
  background: var(--nav-hover);
  border-color: color-mix(in srgb, var(--nav-accent) 45%, var(--nav-bd));
  box-shadow: 0 6px 18px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.4);
  transform: translateY(-1px);
  outline: none;
}

/* Акцент кольору тексту й стрілок */
.single-gallery .photo-view__nav a{ color: var(--nav-accent); }

/* Стрілки лишаємо псевдо-елементами, щоб не міняти PHP */
.single-gallery .pv-prev a::before{ content:"←"; opacity:.9; }
.single-gallery .pv-next a::after { content:"→"; opacity:.9; }

/* Стан disabled (коли на краю) */
.single-gallery .photo-view__nav a.is-disabled,
.single-gallery .photo-view__nav a[aria-disabled="true"]{
  opacity: .45;
  pointer-events: none;
  filter: grayscale(1);
}

/* Адаптив: на мобілці “До альбому” окремим рядком посередині */
@media (max-width: 640px){
  .single-gallery .photo-view__nav{
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .single-gallery .pv-back{
    grid-column: 1 / -1;
    order: -1;
  }
  .single-gallery .photo-view__nav a{
    padding: 10px 12px;
    font-weight: 700;
  }
}

/* (опц.) темніша тема — трохи більш прозоре скло */
@media (prefers-color-scheme: dark){
  :root{
    --nav-fg: #e6e9ef;
    --nav-bg: rgba(255,255,255,.06);
    --nav-bd: rgba(255,255,255,.18);
    --nav-hover: rgba(230, 74, 122, .16);
  }
}

/*archive videos*/
/* ==== VIDEO ARCHIVE GRID ==== */
.video-archive.container {
  max-width: 1280px;
  margin: 40px auto;
  padding: 0 20px;
}
.va-title {
  margin: 0 0 20px;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
}

/* GRID */
.va-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}
.va-card {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  background: #111;
  border: 1px solid #1e1e1e;
  transition: 0.3s;
}
.va-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  transform: translateY(-3px);
}

.va-thumb-wrap {
  display: block;
  position: relative;
  aspect-ratio: 16/9;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
}
.va-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: all 0.4s ease;
}
.va-thumb--placeholder {
  width: 100%;
  height: 100%;
  background: #1f2937;
}

/* PLAY icon (PNG з твого сервера) */
.va-play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 80px;
  background: url("https://gaysinframe.com/wp-content/uploads/2025/10/10947474-150x150.png") no-repeat center/contain;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.85);
  transition: all 0.35s ease;
  z-index: 3;
  pointer-events: none;
}
/* Hover: розмиття прев’ю + показ PLAY */
.va-thumb-wrap:hover .va-thumb {
  filter: blur(3px) brightness(0.7);
  transform: scale(1.03);
}
.va-thumb-wrap:hover .va-play-icon {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* Studio badge */
.va-badge--studio {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #f59e0b;
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  padding: 6px 10px;
  border-radius: 6px;
  text-transform: capitalize;
  z-index: 3;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
}

/* Bottom overlay: title + meta */
.va-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 12px 14px;
  color: #fff;
  z-index: 2;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 70%);
}
.va-title-over {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.va-meta-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  opacity: 0.9;
}
.va-dot {
  opacity: 0.7;
}

/* Pagination */
.va-pagination {
  margin: 30px 0 10px;
  text-align: center;
}
.va-pagination .page-numbers {
  display: inline-block;
  margin: 0 4px;
  padding: 8px 12px;
  border-radius: 6px;
  border: 1px solid #2a2a2a;
  font-weight: 500;
  color: #d1d5db;
  text-decoration: none;
  transition: 0.25s;
}
.va-pagination .page-numbers:hover {
  background: #05b79d;
  color: #fff;
  border-color: #05b79d;
}
.va-pagination .current {
  background: #05b79d;
  color: #fff;
  border-color: #05b79d;
}

/* Responsive tweaks */
@media (max-width: 768px) {
  .va-title {
    font-size: 22px;
  }
  .va-title-over {
    font-size: 15px;
  }
  .va-badge--studio {
    font-size: 12px;
    padding: 5px 8px;
  }
}

/* ===== LAYOUT: MAIN + RIGHT SIDEBAR ===== */
.va-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
}
@media (max-width: 1024px) {
  .va-layout {
    grid-template-columns: 1fr;
  }
  .va-sidebar {
    order: 2;
  }
}

/* Основна колонка */
.va-main {
  min-width: 0;
}

/* ===== SIDEBAR CLEAN STYLE ===== */
.va-sidebar {
  min-width: 0;
  position: sticky;
  top: 80px;
  align-self: start;
}

/* прибираємо картки, рамки, фони */
.va-sidebar .widget {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
}

/* заголовки віджетів — зелений градієнт */
.va-sidebar .widget-title {
  margin: 0 0 10px;
  padding: 10px 14px;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  border-radius: 10px;
  background: linear-gradient(135deg, #05b79d 0%, #049c86 55%, #048a79 100%);
  letter-spacing: 0.3px;
}

/* контент віджетів */
.va-sidebar .va-tax-list {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  background: transparent;
  border: 0;
}

/* рядки списків */
.va-sidebar .va-tax-list li {
  padding: 6px 0;
  border: 0;
  color: #cbd5e1;
}

/* посилання */
.va-sidebar .va-tax-list a {
  color: #d1d5db;
  text-decoration: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.va-sidebar .va-tax-list a:hover {
  color: #fff;
}

/* активний елемент */
.va-sidebar .va-tax-list .current-cat > a,
.va-sidebar .va-tax-list .current-cat a {
  font-weight: 700;
  color: #fff;
}

/* лічильники (кількість у дужках) */
.va-sidebar .va-tax-list li {
  font-size: 14px;
  line-height: 1.5;
  opacity: 0.9;
}

/* щоб нічого біле не просочувалось */
.va-sidebar .widget > div,
.va-sidebar .widget > ul {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* адаптація */
@media (max-width: 1024px) {
  .video-archive .va-sidebar {
    order: 2;
  }
}
/* ==== BREADCRUMBS ==== */
.gf-breadcrumbs {
  margin: 0 0 20px;
  font-size: 14px;
  color: #d1d5db;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.gf-breadcrumbs a {
  color: #05b79d;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}
.gf-breadcrumbs a:hover {
  color: #0ddac0;
}
.gf-breadcrumbs span {
  color: #9ca3af;
}



/* Single video tweaks */
.sv-header { margin-bottom: 10px; }
.sv-meta { display:flex; gap:8px; align-items:center; color:#cbd5e1; font-size:14px; margin-top:6px; }

.sv-poster { margin:14px 0 18px; border-radius:12px; overflow:hidden; }
.sv-poster img { width:100%; height:auto; display:block; }

.sv-content { color:#e5e7eb; line-height:1.7; }
.sv-content p { margin:0 0 14px; }

/* chip-style tax links */
.sv-taxchips { margin:18px 0 8px; display:grid; gap:10px; }
.sv-chip-group { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.sv-chip-label { color:#9ca3af; font-weight:600; margin-right:2px; }
.sv-chip {
  display:inline-block; padding:6px 10px; border-radius:999px;
  background:#0b1f1c; color:#bfeee6; text-decoration:none; font-size:13px;
  border:1px solid rgba(5,183,157,.25); transition:.2s;
}
.sv-chip:hover { background:#05b79d; color:#fff; border-color:#05b79d; }

/* prev/next */
.sv-postnav{ display:flex; justify-content:space-between; gap:12px; margin:22px 0 0; }
.sv-postnav a{ color:#05b79d; text-decoration:none; font-weight:600; }
.sv-postnav a:hover{ color:#0ddac0; }

/* ==== RATING ==== */
.gf-rating {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  user-select: none;
}
.gf-rating .gf-stars {
  display: inline-flex;
  gap: 4px;
}
.gf-star {
  width: 22px;
  height: 22px;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 .587l3.668 7.431L24 9.748l-6 5.848 1.417 8.268L12 19.771 4.583 23.864 6 15.596 0 9.748l8.332-1.73z"/></svg>') no-repeat center / contain;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 .587l3.668 7.431L24 9.748l-6 5.848 1.417 8.268L12 19.771 4.583 23.864 6 15.596 0 9.748l8.332-1.73z"/></svg>') no-repeat center / contain;
  background: #374151; /* порожня */
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
  border-radius: 3px; /* згладжує маску */
}
.gf-star.is-hover { background: #7de3d5; }
.gf-star.is-full  { background: #05b79d; }
.gf-rating.is-rated .gf-star { cursor: default; }
.gf-rating.is-loading { opacity: .6; pointer-events: none; }

.gf-score {
  font-size: 14px;
  color: #cbd5e1;
}

/* ===== TOPBAR: breadcrumbs + sort ===== */
.va-topbar{
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.va-sort{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.va-sort label{
  color: #9ca3af;
  font-size: 14px;
}
.va-sort select{
  background: #0c1413;
  color: #e5e7eb;
  border: 1px solid rgba(5,183,157,.35);
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 14px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.va-sort select:focus{
  border-color: #05b79d;
  box-shadow: 0 0 0 3px rgba(5,183,157,.2);
}

/* ==== RECOMMENDED VIDEOS ==== */
.sv-related {
  margin-top: 50px;
}
.sv-related-title {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 18px;
  border-left: 4px solid #05b79d;
  padding-left: 10px;
}
.sv-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}
.sv-related .va-card {
  border-color: #1e1e1e;
  background: #111;
  transition: 0.3s;
}
.sv-related .va-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0,0,0,.35);
}
.sv-related .va-overlay {
  background: linear-gradient(180deg,rgba(0,0,0,0)0%,rgba(0,0,0,.75)70%);
}
.sv-related .va-meta-row {
  font-size: 13px;
  color: #d1d5db;
  opacity: 0.95;
}

/* ===== BLOG ===== */

/* ===== Палiтра під інші типи постів ===== */
:root{
  --bg-1:#0e0f10;          /* фон сайту */
  --card:#141617;          /* фон карток */
  --card-2:#1a1d1f;        /* hover */
  --text-1:#ffffff;
  --text-2:#c9d0d6;
  --text-3:#95a1ab;
  --stroke:#1f2427;
  --radius:16px;

  /* зелено-бірюзовий градієнт бейджа як на скріні */
  --accent-1:#0cc0a0;
  --accent-2:#19c37d;
  --accent-shadow: rgba(25,195,125,.35);
}

/* ===== Layout ===== */
.container { max-width: 1200px; margin: 0 auto; padding: 40px 20px; }
.content-with-sidebar { display: grid; grid-template-columns: 1fr 320px; gap: 40px; }
@media (max-width: 992px){
  .content-with-sidebar { grid-template-columns: 1fr; }
}

/* ===== Заголовок ===== */
.blog-archive .page-title{
  color: var(--text-1);
  font-size: 2rem;
  margin: 0 0 24px;
}

/* ===== Рядок поста (list view) ===== */
.post-row{
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 22px;
  background: var(--card);
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  transition: .25s ease;
  margin-bottom: 26px;
}
.post-row:hover{ background: var(--card-2); transform: translateY(-2px); }

.post-row .thumb{
  position: relative;
  display: block;
  min-height: 210px;
  overflow: hidden;
}
.post-row .thumb img, .post-row .thumb .no-thumb{
  width: 100%; height: 100%; object-fit: cover; display:block;
}
.post-row .thumb .no-thumb{
  background: linear-gradient(180deg,#23272a,#1a1d1f);
}

/* Бейдж категорії як у відео */
.post-row .badge{
  position: absolute; top: 12px; left: 12px;
  padding: 6px 10px;
  font-size: .78rem; font-weight: 700; letter-spacing:.2px;
  color:#fff;
  border-radius: 10px;
  background: linear-gradient(135deg,var(--accent-1),var(--accent-2));
  box-shadow: 0 8px 18px var(--accent-shadow);
}

/* Тіло */
.post-row .body{ padding: 18px 18px 16px 0; display:flex; flex-direction:column; gap:10px; }
.post-row .title{ font-size: 1.2rem; line-height: 1.25; margin: 0; }
.post-row .title a{ color: var(--text-1); text-decoration: none; }
.post-row .title a:hover{ text-decoration: underline; }

/* Мета */
.post-row .meta{
  display:flex; align-items:center; gap:10px;
  color: var(--text-3); font-size: .95rem;
}
.post-row .meta .dot{ opacity:.6; }

/* Опис */
.post-row .excerpt{ color: var(--text-2); margin: 0; }

/* CTA */
.post-row .read-more{
  margin-top: auto;
  align-self: flex-start;
  background: #0f1112;
  border: 1px solid var(--stroke);
  color: var(--text-1);
  text-decoration:none;
  padding: 8px 12px; border-radius: 10px;
  transition: .2s;
}
.post-row .read-more:hover{ border-color: var(--accent-2); }

/* Пагінація */
.pagination{ text-align:center; margin-top: 28px; }
.pagination a, .pagination span{
  display:inline-block; margin: 0 6px 6px;
  padding: 8px 12px; border-radius: 10px;
  background: #0f1112; border: 1px solid var(--stroke);
  color: var(--text-1); text-decoration:none;
}
.pagination a:hover{ border-color: var(--accent-2); }

/* Дрібні адаптивні правки */
@media (max-width: 780px){
  .post-row{ grid-template-columns: 1fr; }
  .post-row .body{ padding: 16px; }
}

/* Sidebar look & feel */
.site-sidebar { position: sticky; top: 24px; height: fit-content; }
.widget.card-dark{
  background: var(--card);
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  padding: 18px 16px;
  margin-bottom: 18px;
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
.widget-title{
  margin: 0 0 12px;
  font-size: 1.05rem;
  color: var(--text-1);
}

/* Lists inside widgets */
.widget ul{ list-style: none; margin: 0; padding: 0; }
.widget ul li{ padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.05); }
.widget ul li:last-child{ border-bottom: 0; }
.widget a{ color: var(--text-2); text-decoration: none; }
.widget a:hover{ color: var(--accent-2); }

/* Search form */
.widget .search-form, .widget form.search-form{
  display: flex; gap: 8px;
}
.widget .search-form input[type="search"]{
  flex: 1; background: #0f1112; color: var(--text-1);
  border: 1px solid var(--stroke); border-radius: 10px; padding: 10px 12px;
}
.widget .search-form input[type="submit"]{
  background: linear-gradient(135deg,var(--accent-1),var(--accent-2));
  color: #fff; border: 0; border-radius: 10px; padding: 10px 14px; cursor: pointer;
}

/* ===== Базова картка віджета ===== */
.site-sidebar .widget{
  background: var(--card);
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
  padding: 16px 16px 14px;
  margin-bottom: 18px;
}
.site-sidebar .widget-title{
  margin: 0 0 12px;
  font-size: 1.05rem;
  color: var(--text-1);
  letter-spacing:.2px;
}

/* ===== Пошук ===== */
.site-sidebar .widget_search .search-form{
  display:flex; gap:10px; align-items:center;
}
.site-sidebar .widget_search input[type="search"]{
  flex:1;
  background:#0f1112; color:var(--text-1);
  border:1px solid var(--stroke);
  border-radius:10px; padding:10px 12px;
}
.site-sidebar .widget_search input[type="search"]::placeholder{ color:#6f7b85; }
.site-sidebar .widget_search input[type="submit"]{
  padding:10px 14px; border:0; cursor:pointer;
  border-radius:10px; color:#fff;
  background: linear-gradient(135deg,var(--accent-1),var(--accent-2));
  box-shadow: 0 8px 18px var(--accent-shadow);
}

/* ===== Списки (Categories, Recent posts тощо) ===== */
.site-sidebar .widget ul{ list-style:none; margin:0; padding:0; }
.site-sidebar .widget ul li{
  padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.site-sidebar .widget ul li:last-child{ border-bottom:0; }
.site-sidebar .widget a{
  color:var(--text-2); text-decoration:none;
  transition:.15s;
}
.site-sidebar .widget a:hover{ color:var(--accent-2); }

/* Якщо у категорій увімкнено лічильники */
.site-sidebar .widget_categories ul li{
  display:flex; justify-content:space-between; align-items:center;
}
.site-sidebar .widget_categories .count{
  background:#0f1112; border:1px solid var(--stroke);
  color:var(--text-3); padding:4px 8px; border-radius:999px;
  font-size:.85rem;
}

/* ===== Хмара тегів – пігулки в один розмір ===== */
.site-sidebar .widget_tag_cloud .tagcloud{ display:flex; flex-wrap:wrap; gap:8px; }
.site-sidebar .widget_tag_cloud a{
  background:#0f1112; border:1px solid var(--stroke);
  color:var(--text-2); border-radius:999px;
  padding:6px 10px; text-decoration:none;
  font-size:12px !important; line-height:1;  /* перебиває inline */
}
.site-sidebar .widget_tag_cloud a:hover{ border-color:var(--accent-2); color:#fff; }

/* Трохи контрасту заголовкам всередині карток */
.site-sidebar .widget h4, 
.site-sidebar .widget .wp-block-heading{ color:var(--text-1); }

add_filter('widget_tag_cloud_args', function($args){
  $args['largest']  = 12;
  $args['smallest'] = 12;
  $args['unit']     = 'px';
  return $args;
});

/* ==== Single: чистий, легкий вигляд ==== */
.single-post .single-article{
  padding: 22px 22px 18px;
  background: var(--card);
  border: 1px solid var(--stroke);
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
}

/* Бейдж категорії — менший і ближче до краю */
.single-post .badge{
  position: absolute;
  top: -12px; left: -8px;
  padding: 5px 10px;
  font-size: .78rem; font-weight: 700;
  border-radius: 10px;
  background: linear-gradient(135deg,var(--accent-1),var(--accent-2));
  color:#fff;
  box-shadow: 0 8px 18px var(--accent-shadow);
}

/* Заголовок і мета */
.single-post .single-title{
  margin: 4px 0 8px;
  font-size: 1.9rem;
  color: var(--text-1);
}
.single-post .post-meta{
  display:flex; align-items:center; gap:10px;
  color: var(--text-3); font-size: .95rem;
  margin-bottom: 14px;
}
.single-post .post-meta .dot{ opacity:.6 }

/* Прев'ю */
.single-post .single-thumb{
  margin: 6px 0 10px;
  overflow:hidden; border-radius: 12px;
  border: 1px solid var(--stroke);
}
.single-post .single-thumb img{ width:100%; height:auto; display:block }

/* Типографіка контенту */
.single-post .entry-content{ color: var(--text-2); }
.single-post .entry-content p{ margin: 0 0 1rem; }
.single-post .entry-content h2,
.single-post .entry-content h3{ color:var(--text-1); margin: 1.2em 0 .5em }
.single-post .entry-content a{ color: var(--accent-2); }
.single-post .entry-content blockquote{
  margin: 18px 0; padding: 14px 16px;
  background: var(--bg-2); border-left: 3px solid var(--accent-2);
  border-radius: 10px;
}

/* Сепаратори в контенті — тонка лінія, без «капсул» */
.single-post .entry-content hr,
.single-post .entry-content .wp-block-separator{
  border: 0; height: 1px; background: rgba(255,255,255,.08);
  margin: 18px 0;
  border-radius: 0;
}

/* Теги */
.single-post .single-tags{ margin-top: 14px; display:flex; flex-wrap:wrap; gap:8px }
.single-post .single-tags a{
  background: var(--bg-2); border: 1px solid var(--stroke);
  color: var(--text-2); border-radius: 999px; padding: 6px 10px; font-size: 12px;
}
.single-post .single-tags a:hover{ border-color: var(--accent-2); color:#fff }

/* Prev / Next */
.single-post .post-nav{
  margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.single-post .post-nav > div{
  background: var(--bg-2); border: 1px solid var(--stroke);
  border-radius: 10px; padding: 10px 12px; text-align:center;
}
.single-post .post-nav a{ color: var(--text-1) }
.single-post .post-nav a:hover{ color: var(--accent-2) }

/* Коментарі — в окремій чистій картці */
.single-post .comments-wrap{
  margin-top: 18px; padding: 16px;
  background: var(--card); border: 1px solid var(--stroke); border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
}
.single-post .comments-wrap .comment-list{ margin-top: 10px }
.single-post .comments-wrap input[type="text"],
.single-post .comments-wrap input[type="email"],
.single-post .comments-wrap textarea{
  background: var(--bg-2); color: var(--text-1);
  border: 1px solid var(--stroke); border-radius: 10px;
}

/* Макет зі сайдбаром — як в архіві */
.single-post .content-with-sidebar{
  display:grid; grid-template-columns: 1fr 320px; gap: 40px;
}
@media (max-width: 992px){
  .single-post .content-with-sidebar{ grid-template-columns: 1fr }
}
.site-sidebar .widget_block .wp-block-heading{
  box-shadow: 0 6px 12px rgba(25,195,125,.22);
}

/* ==== Single post: нормальний вертикальний ритм ==== */

/* Базові відступи картки і шапки */
.single-post .single-article{ padding:24px 24px 20px; }
.single-post .single-head{ margin:0 0 16px; }
.single-post .single-title{ margin:0 0 8px; }
.single-post .post-meta{ margin:0 0 14px; }

/* 1) Скидаємо різнобій margin'ів усередині контенту */
.single-post .entry-content > * { margin-top: 0; margin-bottom: 0; }

/* 2) Єдиний крок між сусідніми блоками */
.single-post .entry-content > * + * { margin-top: 16px; }

/* Трохи більший крок для заголовків/галерей/цитат */
.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4 { margin-top: 24px; }
.single-post .entry-content .wp-block-image,
.single-post .entry-content .wp-block-gallery,
.single-post .entry-content blockquote { margin-top: 18px; }

/* Горизонтальні лінії без "капсул" */
.single-post .entry-content hr,
.single-post .entry-content .wp-block-separator{
  height:1px; border:0; background:rgba(255,255,255,.08);
  margin:18px 0; border-radius:0;
}

/* Вирівнюємо відступи навігації та тегів */
.single-post .single-tags{ margin-top:18px; }
.single-post .post-nav{ margin-top:18px; }

/* Коментарі: рівний крок між полями/секціями */
.single-post .comments-wrap{ margin-top:18px; }
.single-post .comment-respond .comment-form > * + *{ margin-top:12px; }
.single-post .comment-respond label{ display:block; margin:0 0 6px; }
.single-post .comment-respond textarea{ min-height:180px; }

/* Запобігаємо подвійним відступам, якщо тема додає зверху/знизу */
.single-post .entry-content .wp-block-group.has-global-padding > * { margin-top: 0; }


/*
Theme Name: GaySinFrame Child
Description: Custom header styling
Version: 1.0
*/

/* === BASE === */
body {
  margin: 0;
  font-family: 'Inter', sans-serif;
  background: #0b0b0b;
  color: #fff;
}

/* === HEADER === */
.gsf-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #0f0f0f;
  border-bottom: 1px solid #1a1a1a;
}

.gsf-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  gap: 20px;
}

/* === LOGO === */
.gsf-logo img {
  height: 100px;
  width: auto;
  display: block;
}

/* === NAVIGATION === */
.gsf-nav {
  flex: 1;
}

.gsf-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 28px;
}

.gsf-menu li {
  position: relative;
}

.gsf-menu a {
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  transition: color .25s ease, transform .15s ease;
}

.gsf-menu a:hover {
  color: #0cc0a0;
  transform: translateY(-1px);
}

/* Активний пункт меню */
.gsf-menu .current-menu-item > a,
.gsf-menu .current-page-ancestor > a {
  color: #0cc0a0;
}

/* === MENU ICON (як пункт із класом menu-item-icon) === */
.gsf-menu .menu-item-icon > a {
  width: 100px;
  height: 100px;
  display: inline-block;
  background: url('https://gaysinframe.com/wp-content/uploads/2025/10/789f1af2-9822-4d26-bb06-6eb13e9f3860.png')
              center/cover no-repeat;
  text-indent: -9999px;
  overflow: hidden;
  border-radius: 8px;
  padding: 0 !important;
  margin-right: 6px;
}

.gsf-menu .menu-item-icon.current-menu-item > a {
  outline: 2px solid #0cc0a0;
  outline-offset: 3px;
  border-radius: 8px;
}

/* === SEARCH === */
.gsf-search {
  margin-left: auto;
}

.gsf-search form {
  display: flex;
  align-items: center;
  background: #1a1a1a;
  border-radius: 30px;
  padding: 4px 10px;
}

.gsf-search input[type="search"] {
  background: transparent;
  border: none;
  outline: none;
  color: #fff;
  padding: 6px 8px;
  width: 160px;
}

.gsf-search input::placeholder {
  color: #aaa;
}

.gsf-search button,
.gsf-search input[type="submit"] {
  background: none;
  border: none;
  color: #0cc0a0;
  cursor: pointer;
  font-size: 18px;
  padding: 6px;
}

.gsf-search button:hover {
  color: #0fffd4;
}

/* === MOBILE MENU TOGGLE === */
.gsf-nav-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  width: 34px;
  height: 28px;
  position: relative;
}

.gsf-nav-toggle span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: #fff;
  border-radius: 1px;
  transition: transform .25s, top .25s, opacity .25s;
}

.gsf-nav-toggle span:nth-child(1) { top: 6px; }
.gsf-nav-toggle span:nth-child(2) { top: 13px; }
.gsf-nav-toggle span:nth-child(3) { top: 20px; }

.gsf-nav-toggle.active span:nth-child(1) {
  transform: rotate(45deg);
  top: 13px;
}
.gsf-nav-toggle.active span:nth-child(2) {
  opacity: 0;
}
.gsf-nav-toggle.active span:nth-child(3) {
  transform: rotate(-45deg);
  top: 13px;
}

/* === MOBILE NAVIGATION === */
@media (max-width: 960px) {
  .gsf-nav-toggle { display: block; }

  .gsf-nav {
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    background: #0f0f0f;
    transform: translateY(-120%);
    transition: transform .3s ease;
  }

  .gsf-nav.open {
    transform: translateY(0);
  }

  .gsf-menu {
    flex-direction: column;
    gap: 14px;
    padding: 16px 20px;
  }

  .gsf-search {
    display: none;
  }
}
/* базовий колір */
.gsf-menu > li > a { color:#fff; }

/* активний/поточний/батьківський пункт */
.gsf-menu .current-menu-item > a,
.gsf-menu .current-menu-ancestor > a,
.gsf-menu .current-page-ancestor > a,
.gsf-menu .current_page_item > a,
.gsf-menu .current_page_parent > a {
  color:#0cc0a0;
}

/* для пункту-іконки (logo) зробимо підсвітку */
.gsf-menu .menu-item-icon.current-menu-item > a,
.gsf-menu .menu-item-icon.current-menu-ancestor > a {
  outline:2px solid #0cc0a0; outline-offset:3px; border-radius:10px;
}



/* === Footer === */
.site-footer{
  background:linear-gradient(180deg, #0b0b0b 0%, #0f0f0f 100%);
  border-top:1px solid #1b1b1b;
  color:#ccc;
  padding:60px 0 25px;
  font-size:15px;
}

.footer-inner{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:50px;
  padding:0 20px;
  align-items:start;
}

/* Logo block */
.footer-logo{
  margin-bottom:16px;
}
.footer-logo img{
  width:110px;
  height:auto;
  display:block;
  filter:drop-shadow(0 0 10px rgba(12,192,160,0.4));
  transition:transform .3s ease;
}
.footer-logo img:hover{
  transform:scale(1.05);
}

.footer-text{
  color:#aaa;
  line-height:1.6;
  margin:0;
  max-width:300px;
}

/* Menu */
.footer-menu{
  list-style:none;
  margin:0;
  padding:0;
}
.footer-menu li{
  margin-bottom:8px;
}
.footer-menu a{
  color:#ccc;
  text-decoration:none;
  transition:color .2s;
}
.footer-menu a:hover{
  color:#0cc0a0;
}

/* Socials */
.footer-socials h4{
  color:#fff;
  font-size:16px;
  margin:0 0 10px;
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.footer-socials{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.footer-socials .social-link{
  color:#ccc;
  text-decoration:none;
  font-weight:500;
  transition:color .2s;
}
.footer-socials .social-link:hover{
  color:#0cc0a0;
}

/* Bottom bar */
.footer-bottom{
  text-align:center;
  border-top:1px solid #1c1c1c;
  padding:20px 10px 0;
  margin-top:40px;
  font-size:14px;
  color:#777;
}

/* Mobile adjustments */
@media(max-width:600px){
  .footer-inner{
    text-align:center;
    grid-template-columns:1fr;
  }
  .footer-logo img{
    margin:0 auto 10px;
  }
  .footer-text{
    margin:0 auto 20px;
  }
}

/* === SEARCH PAGE === */
.search-page .wrap{ max-width:1200px; margin:0 auto; padding:0 20px; }

.search-hero{
  padding:24px 0 10px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:transparent;
}
.search-hero .search-bar{
  display:flex; gap:10px; margin-bottom:12px;
}
.search-hero .search-bar input{
  flex:1; padding:12px 14px;
  border:1px solid var(--stroke); border-radius:12px;
  background:var(--bg-2); color:#fff;
}
.search-hero .search-bar button{
  border:0; border-radius:12px; padding:12px 16px;
  background:linear-gradient(135deg,var(--accent-1),var(--accent-2)); color:#0a0a0a; font-weight:700;
}
.search-hero .search-title{
  font-size:24px; margin:0;
}
.search-hero .search-title .query{
  color:#0ae2b8;
}

/* grid */
.results .search-grid{
  display:grid; gap:18px;
  grid-template-columns:repeat(3, minmax(0,1fr));
  padding:22px 0 10px;
}
@media (max-width:1000px){ .results .search-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){  .results .search-grid{ grid-template-columns:1fr; } }

.search-card{
  background:var(--card);
  border:1px solid var(--stroke);
  border-radius:16px; overflow:hidden;
  display:flex; flex-direction:column;
  box-shadow:0 10px 28px rgba(0,0,0,.22);
}
.search-card .thumb{
  display:block; background:#0b0b0b; aspect-ratio:16/9; overflow:hidden;
}
.search-card .thumb img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.search-card .meta{ padding:12px 14px 14px; }
.search-card .card-title{
  color:#fff; font-weight:700; font-size:17px; line-height:1.35; text-decoration:none;
  display:block; margin-bottom:6px;
}
.search-card .card-title:hover{ color:var(--accent-2); }
.search-card .subline{
  font-size:12px; color:#9aa6af; margin-bottom:8px; display:flex; align-items:center; gap:6px;
}
.search-card .excerpt{
  color:#c9d0d6; font-size:14px; margin:0;
}
.search-card mark.hl{
  background:linear-gradient(90deg, rgba(12,192,160,.25), rgba(25,195,125,.25));
  color:#fff; padding:0 .15em; border-radius:.3em;
}

/* pagination */
.search-pagination{ display:flex; justify-content:center; padding:18px 0 30px; }
.search-pagination .page-numbers{ display:inline-block; padding:8px 12px; border:1px solid var(--stroke); border-radius:10px; margin:0 4px; color:#c9d0d6; }
.search-pagination .page-numbers.current{ background:var(--accent-2); border-color:var(--accent-2); color:#0a0a0a; font-weight:700; }

/* no results */
.no-results{ padding:28px 0 40px; }
.no-results h2{ margin-top:0; }
.no-results a{ color:#0ae2b8; }

/* === Gallery toolbar: search + sort (dark, minimal) === */
.gal-toolbar{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; margin:12px 0 18px;
}
.gal-left{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.gal-right{ margin-left:auto; }

/* Input */
.gal-input{
  -webkit-appearance:none; appearance:none;
  background:#0f1113;
  border:1px solid #2a2f36;
  color:#e5e7eb;
  padding:10px 12px;
  min-width:260px;
  border-radius:10px;
  outline:none;
  transition:border-color .15s, box-shadow .15s, background .15s, color .15s;
}
.gal-input::placeholder{ color:#77808a; }
.gal-input:focus{
  border-color:#5b7cfe;
  box-shadow:0 0 0 3px rgba(91,124,254,.15);
  background:#101317;
}

/* Base button (no green) */
.gal-btn{
  -webkit-appearance:none; appearance:none;
  background:#121417;
  border:1px solid #2a2f36;
  color:#cfd3da;
  padding:10px 14px;
  border-radius:10px;
  line-height:1; font-weight:600;
  cursor:pointer;
  transition:background .12s, border-color .12s, color .12s, transform .04s;
  box-shadow:none;
}
.gal-btn:hover{ background:#15181c; border-color:#343b45; color:#ffffff; }
.gal-btn:active{ transform:translateY(1px); }

/* “Пошук” — така ж кнопка, без акценту зеленим */
.gal-btn--accent{ background:#14171b; }

/* Sort buttons: active state */
.gal-sort.is-active{
  background:#161b23;
  border-color:#5b7cfe;
  color:#ffffff;
}

/* Found counter */
.gal-found{ color:#9aa1aa; font-size:14px; }

/* На дуже вузьких екранах переносимо праву частину вниз */
@media (max-width:600px){
  .gal-toolbar{ flex-direction:column; align-items:flex-start; gap:10px; }
  .gal-right{ margin-left:0; }
}
.gallery-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 25px;
}

.gallery-tag {
  display: inline-block;
  padding: 6px 12px;
  font-size: 14px;
  font-weight: 500;
  color: #cfd3da;
  background: #14171b;
  border: 1px solid #2a2f36;
  border-radius: 999px;
  text-decoration: none;
  transition: all .15s ease;
}

.gallery-tag:hover {
  color: #fff;
  border-color: #5b7cfe;
  background: #1b1f27;
}
/* Ширина контейнера для альбомів і тегів галереї */
.post-type-archive-gallery main.container,
.tax-album main.container,
.tax-tagsgallery main.container {
  max-width: 1400px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* Однакова сітка */
.tax-album .album__grid,
.tax-tagsgallery .album__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 18px;
  margin: 20px 0 40px;
}
@media (min-width:1400px){ 
  .tax-album .album__grid,
  .tax-tagsgallery .album__grid { grid-template-columns: repeat(5, 1fr); } 
}
@media (max-width:1400px){ 
  .tax-album .album__grid,
  .tax-tagsgallery .album__grid { grid-template-columns: repeat(4, 1fr); } 
}
@media (max-width:1024px){ 
  .tax-album .album__grid,
  .tax-tagsgallery .album__grid { grid-template-columns: repeat(3, 1fr); } 
}
@media (max-width:720px){  
  .tax-album .album__grid,
  .tax-tagsgallery .album__grid { grid-template-columns: repeat(2, 1fr); } 
}
@media (max-width:480px){  
  .tax-album .album__grid,
  .tax-tagsgallery .album__grid { grid-template-columns: 1fr; } 
}

/* Картка (фон/рамка/hover) */
.tax-album .album__item,
.tax-tagsgallery .album__item{
  position: relative;
  overflow: hidden;
  background: #0f1216;
  border-radius: 0;
  box-shadow: 0 2px 14px rgba(0,0,0,.08);
}
.tax-album .album__link,
.tax-tagsgallery .album__link{ display:block; color:inherit; text-decoration:none; }

/* Зображення в картці */
.tax-album .album__item img,
.tax-tagsgallery .album__item img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit: cover !important;
  aspect-ratio: 9 / 16 !important; /* як у альбомі */
  transition: transform .25s ease, filter .25s ease;
}

/* Затемнення при hover */
.tax-album .album__item::after,
.tax-tagsgallery .album__item::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(to bottom, rgba(0,0,0,.15), rgba(0,0,0,.35));
  opacity:0; pointer-events:none; transition:opacity .25s ease;
}
.tax-album .album__item:hover img,
.tax-tagsgallery .album__item:hover img{ transform: scale(1.03); }
.tax-album .album__item:hover::after,
.tax-tagsgallery .album__item:hover::after{ opacity:.9; }

/* Чіп із заголовком */
.tax-album .album__photo-title,
.tax-tagsgallery .album__photo-title{
  position:absolute; left:10px; bottom:10px;
  margin:0; padding:7px 12px;
  background: rgba(0,0,0,.55);
  color:#fff; font-weight:700; font-size:15px; line-height:1;
  border-radius:4px;
  max-width: calc(100% - 20px);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
/* Візуально приховано, але доступно для скрінрідерів і пошукових ботів */
.sr-only{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}
