/* =========================================================
   PTK HOME BLOCKS v1.2.5 — GRAPHITE GOLD UI
   CHATGPT-INSPIRED / COMPACT BLOCKS / BORDERLESS
========================================================= */

:where(.ptk-home-section, .ptk-home-hero) {
  --ptk-graphite-0: #0c0c0d;
  --ptk-graphite-1: #141415;
  --ptk-graphite-2: #1a1a1c;
  --ptk-graphite-3: #202022;
  --ptk-graphite-4: #28282b;
  --ptk-graphite-text: #f4f4f5;
  --ptk-graphite-muted: #a2a2a8;
  --ptk-gold: #d2b46f;
  --ptk-gold-soft: #e4ca8c;
  --ptk-gold-rgb: 210, 180, 111;
}

.ptk-home-section a,
.ptk-home-hero a {
  -webkit-tap-highlight-color: rgba(var(--ptk-gold-rgb), 0.18);
}

/* SECTION BLOCKS — subtle graphite panels instead of outlines */
.ptk-home-section {
  margin-bottom: 22px;
  padding: clamp(14px, 1.6vw, 18px);
  border: 0 !important;
  border-radius: 20px;
  background:
    radial-gradient(circle at 96% 0%, rgba(var(--ptk-gold-rgb), 0.035), transparent 31%),
    linear-gradient(145deg, #18181a 0%, #141416 62%, #121214 100%);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18), inset 0 1px rgba(255, 255, 255, 0.025);
}

.ptk-home-section-head {
  gap: 3px;
  margin-bottom: 13px;
  padding-left: 15px;
}

.ptk-home-section-head::before {
  top: 4px;
  width: 4px;
  height: 24px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--ptk-gold-soft), #9b7b3d);
  box-shadow: 0 0 14px rgba(var(--ptk-gold-rgb), 0.2);
}

.ptk-home-section-head h2,
.ptk-home-amulets .ptk-home-section-head h2 {
  color: var(--ptk-graphite-text);
  font-size: 21px;
  font-weight: 820;
  letter-spacing: -0.012em;
  text-shadow: none;
}

.ptk-home-section-head p,
.ptk-home-amulets .ptk-home-section-head p {
  color: var(--ptk-graphite-muted);
}

.ptk-home-section-action {
  min-height: 33px;
  padding: 6px 11px;
  border: 0 !important;
  border-radius: 10px;
  background: #242426;
  color: #d8d8dc !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.035);
  font-weight: 720;
}

.ptk-home-section-action:hover,
.ptk-home-section-action:focus-visible {
  border: 0 !important;
  background: #2d2d30;
  color: var(--ptk-gold-soft) !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2), inset 0 1px rgba(255, 255, 255, 0.05);
}

/* HERO — dark graphite with a restrained gold signal */
.ptk-home-hero {
  margin-bottom: 22px;
  min-height: 360px;
  border: 1px solid var(--ptk-graphite-3) !important;
  border-radius: 22px;
  background: var(--ptk-graphite-0);
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.34), inset 0 1px rgba(255, 255, 255, 0.035);
}

.ptk-home-hero-track {
  min-height: 360px;
}

.ptk-home-hero-slide {
  padding: clamp(26px, 4vw, 44px);
}

.ptk-home-hero::after {
  content: "";
  position: absolute;
  z-index: 3;
  width: 32%;
  height: 2px;
  left: 5%;
  bottom: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--ptk-gold), transparent);
  box-shadow: 0 0 18px rgba(var(--ptk-gold-rgb), 0.24);
  pointer-events: none;
}

.ptk-home-hero-overlay {
  background:
    radial-gradient(circle at 13% 22%, rgba(var(--ptk-gold-rgb), 0.105), transparent 28%),
    linear-gradient(90deg, rgba(4, 4, 5, 0.9) 0%, rgba(7, 7, 8, 0.72) 45%, rgba(8, 8, 9, 0.23) 75%, rgba(8, 8, 9, 0.09) 100%),
    linear-gradient(0deg, rgba(3, 3, 4, 0.34), transparent 48%);
}

.ptk-home-hero-image {
  filter: saturate(1.055) contrast(1.035) brightness(1.01);
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

.ptk-home-hero-slide.is-active .ptk-home-hero-image {
  transform: none !important;
  animation: none !important;
}

.ptk-home-eyebrow {
  padding: 6px 10px;
  border: 0 !important;
  border-radius: 8px;
  background: rgba(45, 40, 29, 0.88);
  color: var(--ptk-gold-soft);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.045);
  letter-spacing: 0.025em;
}

.ptk-home-hero h1 {
  color: #ffffff;
  text-shadow: 0 7px 28px rgba(0, 0, 0, 0.56);
}

.ptk-home-hero p {
  color: rgba(241, 241, 243, 0.76);
}

.ptk-home-btn:not(.ptk-home-btn--ghost) {
  min-height: 42px;
  padding: 9px 15px;
  border: 0 !important;
  border-radius: 10px;
  background: linear-gradient(180deg, #e1c783 0%, #b9944b 100%);
  color: #15120b !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28), inset 0 1px rgba(255, 255, 255, 0.34);
}

.ptk-home-btn--ghost {
  border: 0 !important;
  background: rgba(38, 38, 41, 0.94);
  color: #ececef !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.045);
}

.ptk-home-hero-dots button.is-active::before {
  background: var(--ptk-gold);
  box-shadow: 0 0 13px rgba(var(--ptk-gold-rgb), 0.3);
}

/* COMPACT GRAPHITE CARD SYSTEM */
.ptk-home-cat-card,
.ptk-home-card,
.ptk-home-shop-card,
.ptk-home-sponsor-card,
.ptk-home-list-item,
.ptk-home-forum-item,
.ptk-home-forum-room-card,
.ptk-home-amulets .ptk-amulet-card,
.ptk-home-amulets .ptk-amulet-shop__card {
  border: 0 !important;
  background: linear-gradient(145deg, #212123 0%, #1b1b1d 64%, #18181a 100%);
  color: var(--ptk-graphite-text);
  box-shadow: 0 7px 17px rgba(0, 0, 0, 0.18), inset 0 1px rgba(255, 255, 255, 0.025);
}

.ptk-home-cat-card:hover,
.ptk-home-card:hover,
.ptk-home-shop-card:hover,
.ptk-home-sponsor-card:hover,
.ptk-home-list-item:hover,
.ptk-home-forum-item:hover,
.ptk-home-forum-room-card:hover,
.ptk-home-amulets .ptk-amulet-card:hover,
.ptk-home-amulets .ptk-amulet-shop__card:hover {
  border: 0 !important;
  background: linear-gradient(145deg, #29292c 0%, #212124 64%, #1c1c1e 100%);
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.24), inset 0 1px rgba(255, 255, 255, 0.04);
  transform: translateY(-2px);
}

.ptk-home-cat-card:active,
.ptk-home-card:active,
.ptk-home-shop-card:active,
.ptk-home-sponsor-card:active,
.ptk-home-list-item:active,
.ptk-home-forum-item:active,
.ptk-home-forum-room-card:active {
  border: 0 !important;
  background: #1c1c1e;
  box-shadow: inset 0 2px 7px rgba(0, 0, 0, 0.22);
  transform: translateY(0);
}

/* CATEGORIES */
.ptk-home-cat-grid {
  gap: 9px;
}

.ptk-home-cat-card--clean {
  min-height: 82px;
  padding: 12px 11px;
  border-radius: 14px;
}

.ptk-home-cat-card--clean::before {
  width: 62px;
  height: 62px;
  right: -27px;
  top: -29px;
  background: radial-gradient(circle, rgba(var(--ptk-gold-rgb), 0.12), transparent 70%);
}

.ptk-home-cat-card--clean strong {
  color: #ededee;
  font-size: 13.5px;
  font-weight: 760;
}

.ptk-home-cat-card--clean em {
  color: #b89d61;
}

.ptk-home-cat-card--clean.is-active {
  background: linear-gradient(145deg, #302b20 0%, #242119 58%, #1c1a16 100%);
  box-shadow: 0 9px 21px rgba(0, 0, 0, 0.24), inset 0 1px rgba(255, 255, 255, 0.04);
}

/* ARTICLES */
.ptk-home-card {
  border-radius: 15px;
}

.ptk-home-thumb {
  background: #101011;
}

.ptk-home-thumb img {
  filter: saturate(1.04) contrast(1.025);
}

.ptk-home-thumb::after {
  background: linear-gradient(180deg, transparent 68%, rgba(4, 4, 5, 0.24) 100%);
}

.ptk-home-card-body {
  padding: 12px;
  background: #1b1b1d;
}

.ptk-home-posts .ptk-home-card-body h3 {
  color: #f0f0f1;
  font-weight: 760;
}

.ptk-home-posts .ptk-home-card-body p {
  color: #99999f;
}

/* AMULETS */
.ptk-home-amulets .ptk-home-amulet-grid {
  gap: 11px;
}

.ptk-home-amulets .ptk-home-amulet-shop-card-wrap,
.ptk-home-amulets .ptk-amulet-card,
.ptk-home-amulets .ptk-amulet-shop__card {
  border-radius: 15px;
}

.ptk-home-amulets .ptk-amulet-shop__image {
  filter: saturate(1.045) contrast(1.025);
}

.ptk-home-amulets .ptk-amulet-shop__content {
  padding: 11px !important;
  background: #1b1b1d;
}

.ptk-home-amulets .ptk-amulet-shop__title,
.ptk-home-amulets .ptk-amulet-shop__title a {
  color: #f0f0f1 !important;
  font-weight: 760 !important;
}

.ptk-home-amulets .ptk-amulet-shop__price,
.ptk-home-amulets .ptk-amulet-shop__price *,
.ptk-home-amulets .ptk-amulet-price {
  color: #e0c47f !important;
  text-shadow: none;
}

.ptk-home-amulets .ptk-amulet-shop__meta,
.ptk-home-amulets .ptk-amulet-shop__meta--category,
.ptk-home-amulets .ptk-amulet-shop__meta--status {
  color: #ffffff !important;
}

.ptk-home-amulets .ptk-amulet-shop__badge,
.ptk-home-amulets .ptk-amulet-badge {
  border: 0 !important;
  background: linear-gradient(180deg, rgba(102, 83, 45, 0.96), rgba(61, 51, 31, 0.96)) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.3), inset 0 1px rgba(255, 255, 255, 0.1);
}

/* CATEGORY DEVICE LIMITS — keep desktop/mobile rows balanced independently */
@media (min-width: 769px) {
  .ptk-home-categories .ptk-home-cat-card--desktop-hidden {
    display: none !important;
  }
}

.ptk-home-amulets .ptk-amulet-shop__view-btn {
  border: 0 !important;
  background: #2c2922 !important;
  color: var(--ptk-gold-soft) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.04);
}

.ptk-home-amulets .ptk-home-amulet-shop-card-wrap:hover {
  filter: drop-shadow(0 12px 20px rgba(0, 0, 0, 0.2));
}

/* FORUM */
.ptk-home-forum-room-grid,
.ptk-home-forum-grid,
.ptk-home-list {
  gap: 9px;
}

.ptk-home-forum-room-card {
  min-height: 96px;
  padding: 12px;
  border-radius: 14px;
}

.ptk-home-forum-item {
  min-height: 74px;
  padding: 12px;
  border-radius: 13px;
}

.ptk-home-forum-room-icon,
.ptk-home-list-item > span {
  border: 0;
  background: #2c2922;
  color: var(--ptk-gold-soft);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.04);
}

.ptk-home-forum-room-card strong,
.ptk-home-forum-item strong {
  color: #eeeeef;
}

.ptk-home-forum-room-card em,
.ptk-home-forum-item em {
  color: #97979d;
}

/* TAGS */
.ptk-home-tag-cloud {
  gap: 7px;
}

.ptk-home-tag-cloud a,
.ptk-home-tag-cloud a:nth-child(3n + 1),
.ptk-home-tag-cloud a:nth-child(3n + 2),
.ptk-home-tag-cloud a:nth-child(3n) {
  padding: 8px 10px;
  border: 0 !important;
  border-radius: 9px;
  background: #222224;
  color: #c9c9cd;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.025);
}

.ptk-home-tag-cloud a:hover,
.ptk-home-tag-cloud a:active,
.ptk-home-tag-cloud a:focus-visible {
  border: 0 !important;
  background: #302b21;
  color: var(--ptk-gold-soft);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.04);
}

.ptk-home-tag-cloud small {
  color: #828288;
}

/* VIP SHOPS */
.ptk-home-shop-card {
  min-height: 138px;
  padding: 13px 10px;
  border-radius: 14px;
}

.ptk-home-avatar {
  width: 66px;
  height: 66px;
  border: 0 !important;
  filter: saturate(1.035) contrast(1.025);
  box-shadow: 0 9px 20px rgba(0, 0, 0, 0.3);
}

.ptk-home-shop-card strong {
  color: #eeeeef;
}

.ptk-home-shop-card em {
  color: #97979d;
}

/* SPONSORS */
.ptk-home-sponsor-card {
  min-height: 190px;
  border-radius: 15px;
}

.ptk-home-sponsor-card img {
  filter: saturate(1.045) contrast(1.025);
}

.ptk-home-sponsor-card::after {
  background: linear-gradient(180deg, rgba(4, 4, 5, 0.01) 0%, rgba(4, 4, 5, 0.12) 42%, rgba(4, 4, 5, 0.86) 79%, rgba(4, 4, 5, 0.97) 100%);
}

.ptk-home-sponsor-content {
  padding: 0 14px 14px;
}

.ptk-home-sponsor-card.no-image {
  border: 0 !important;
  background: linear-gradient(145deg, #212123, #18181a);
}

/* EMPTY + FOCUS */
.ptk-home-empty {
  padding: 13px;
  border: 0 !important;
  background: #202022;
  color: #a2a2a8;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.025);
}

.ptk-home-cat-card:focus-visible,
.ptk-home-card:focus-within,
.ptk-home-shop-card:focus-visible,
.ptk-home-sponsor-card:focus-within,
.ptk-home-list-item:focus-visible,
.ptk-home-forum-item:focus-visible,
.ptk-home-forum-room-card:focus-visible,
.ptk-home-tag-cloud a:focus-visible,
.ptk-home-section-action:focus-visible,
.ptk-home-btn:focus-visible {
  outline: 2px solid rgba(var(--ptk-gold-rgb), 0.72);
  outline-offset: 3px;
}

@media (max-width: 768px) {
  .ptk-home-categories .ptk-home-cat-card--mobile-hidden {
    display: none !important;
  }

  .ptk-home-section {
    margin-bottom: 16px;
    padding: 12px;
    border-radius: 16px;
  }

  .ptk-home-section-head {
    margin-bottom: 11px;
    padding-left: 13px;
  }

  .ptk-home-section-head::before {
    width: 3px;
    height: 22px;
  }

  .ptk-home-section-action {
    min-height: 31px;
    padding: 5px 8px;
  }

  .ptk-home-hero,
  .ptk-home-hero-track {
    min-height: 300px;
  }

  .ptk-home-hero {
    border-radius: 18px;
  }

  .ptk-home-hero-slide {
    padding: 22px 16px 50px;
  }

  .ptk-home-cat-grid {
    gap: 7px;
  }

  .ptk-home-cat-card--clean {
    min-height: 70px;
    padding: 9px 8px;
    border-radius: 11px;
  }

  .ptk-home-cat-card--clean strong {
    font-size: 12.5px;
  }

  .ptk-home-card,
  .ptk-home-amulets .ptk-home-amulet-shop-card-wrap,
  .ptk-home-amulets .ptk-amulet-card,
  .ptk-home-amulets .ptk-amulet-shop__card,
  .ptk-home-sponsor-card {
    border-radius: 12px;
  }

  .ptk-home-card-body,
  .ptk-home-amulets .ptk-amulet-shop__content {
    padding: 10px !important;
  }

  .ptk-home-forum-room-card,
  .ptk-home-forum-item {
    padding: 10px;
  }

  .ptk-home-avatar {
    width: 60px;
    height: 60px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ptk-home-hero-image,
  .ptk-home-cat-card,
  .ptk-home-card,
  .ptk-home-shop-card,
  .ptk-home-sponsor-card,
  .ptk-home-list-item,
  .ptk-home-forum-item,
  .ptk-home-forum-room-card {
    transition: none !important;
  }
}
