/* Codex visual refresh: Gulusc-inspired light resource grid. */
:root {
  --gm-bg: #ffffff;
  --gm-soft-bg: #f7f7f8;
  --gm-panel: #ffffff;
  --gm-panel-soft: #fafafa;
  --gm-text: #161719;
  --gm-muted: #71717a;
  --gm-border: #e7e7ea;
  --gm-ring: rgba(16, 16, 16, .08);
  --gm-shadow: 0 18px 45px rgba(15, 23, 42, .06);
}

html[data-bs-theme],
body {
  background: var(--gm-bg) !important;
  color: var(--gm-text) !important;
}

body,
button,
input,
select,
textarea {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif !important;
}

a {
  color: inherit;
  text-decoration: none !important;
}

.container {
  max-width: 1440px !important;
}

.site-header > .container {
  max-width: 1320px !important;
}

.site-header {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.site-header .navbar {
  min-height: 72px;
  gap: 20px;
}

.site-header .navbar-menu a,
.site-header .navbar a,
.site-header .action-btn {
  color: #27272a !important;
}

.site-header i,
.site-header svg,
.site-header .navbar-action,
.site-header .navbar-user,
.site-header .header-user,
.site-header .login-btn,
.site-header .user-avatar,
.site-header [class*="user"],
.site-header [class*="search"] {
  color: #18181b !important;
  opacity: 1 !important;
}

.site-header .navbar-menu a:hover,
.site-header .action-btn:hover {
  color: #000 !important;
}

.site-header .logo {
  max-height: 40px;
  opacity: .98 !important;
  filter: brightness(0) !important;
}

.site-header .navbar-brand,
.site-header .logo-wrapper {
  flex: 0 0 auto;
}

.site-header .navbar-menu {
  margin-left: 26px !important;
}

.site-header .navbar-action,
.site-header .navbar-right,
.site-header .navbar-user,
.site-header .header-user {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-left: auto !important;
  font-size: 13px !important;
}

.site-header .user-avatar,
.site-header img.avatar {
  width: 30px !important;
  height: 30px !important;
}

.site-header [class*="vip"],
.site-header [class*="member"],
.site-header [class*="user"] {
  white-space: nowrap !important;
}

main {
  background: var(--gm-bg) !important;
}

.home-widget {
  margin: 0 !important;
  padding: 0 !important;
}

.home-search-box {
  background: var(--gm-bg) !important;
}

.home-search-box .search-bg {
  min-height: 660px !important;
  background: #fff !important;
}

.home-search-box .jarallax-img,
.home-search-box .search-bg-overlay {
  display: none !important;
}

.home-search-box .search-warp {
  position: relative;
  display: flex;
  box-sizing: border-box;
  min-height: 660px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 62px;
  padding-bottom: 58px;
  text-align: center;
}

.home-search-box .search-warp::after {
  position: absolute;
  top: 42px;
  left: 50%;
  z-index: 0;
  width: min(100%, 980px);
  height: 540px;
  border-radius: 48% 52% 50% 46% / 44% 48% 52% 56%;
  background:
    radial-gradient(circle, rgba(24, 24, 27, .26) 1px, transparent 1.2px) center / 15px 15px;
  content: "";
  opacity: .82;
  pointer-events: none;
  transform: translateX(-50%);
  -webkit-mask-image: radial-gradient(ellipse at center, #000 0 58%, transparent 78%);
  mask-image: radial-gradient(ellipse at center, #000 0 58%, transparent 78%);
}

.home-search-box .search-title,
.home-search-box .search-form,
.home-search-box .search-hots {
  position: relative;
  z-index: 1;
}

.home-search-box .search-warp::before {
  display: none !important;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  margin-bottom: 58px;
  padding: 4px 6px 4px 7px;
  background: rgba(255, 255, 255, .88);
  border: 1px solid var(--gm-border);
  border-radius: 999px;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .05);
  color: #27272a;
  content: "活动  9折优惠券，点击领取   点击领取";
  font-size: 14px;
  font-weight: 500;
}

.search-title {
  max-width: 860px;
  margin: 0 auto 50px !important;
  color: var(--gm-text) !important;
  font-size: 0 !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

.search-title::before {
  display: none !important;
  margin-bottom: 4px;
  color: #000;
  content: "117,000+";
  font-size: clamp(2.5rem, 4vw, 4.25rem);
  line-height: 1;
}

.search-title::after {
  display: block;
  margin-top: 6px;
  color: #000;
  content: "素材好一点，加班少一点";
  font-size: clamp(2.5rem, 4.8vw, 5.2rem);
  font-weight: 900;
  line-height: 1.05;
  white-space: nowrap;
}

.search-desc {
  display: none !important;
}

.home-search-box .search-form {
  transform: translateY(-10px);
}

.search-desc {
  max-width: 680px;
  margin: 0 auto 0 !important;
  color: var(--gm-muted) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  text-shadow: none !important;
}

.search-form {
  position: relative;
  width: min(100%, 760px);
  margin-right: auto;
  margin-left: auto;
  padding: 8px;
  background: var(--gm-panel) !important;
  border: 1px solid var(--gm-border) !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 36px rgba(15, 23, 42, .04) !important;
}

.search-form form,
.search-form .search-fields {
  display: flex;
  align-items: center;
  gap: 8px;
}

.search-form .search-select,
.search-form select {
  background: transparent !important;
  border: 0 !important;
  color: #3f3f46 !important;
}

.search-form input,
.search-form .search-field {
  height: 50px !important;
  padding-right: 122px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--gm-text) !important;
}

.search-form input::placeholder {
  color: #a1a1aa !important;
}

.search-form button {
  position: absolute !important;
  top: 50% !important;
  right: 8px !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 104px;
  height: 48px !important;
  padding: 0 28px !important;
  background: #09090b !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-weight: 600 !important;
}

.search-form button i {
  display: none !important;
}

.search-form button::after {
  content: "搜索";
}

.home-search-box .search-form button[type="submit"],
.navbar-search .search-form button[type="submit"] {
  z-index: 4 !important;
  background: #09090b !important;
  background-color: #09090b !important;
  opacity: 1 !important;
}

.search-hots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 8px !important;
}

.search-hots span,
.search-hots a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  background: #fff;
  border: 1px solid var(--gm-border);
  border-radius: 999px;
  color: #52525b !important;
  font-size: 13px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
}

.search-hots > span:first-child,
.search-hots > a:first-child {
  display: none !important;
}

.search-hots span,
.search-hots a {
  min-height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #52525b !important;
  font-size: 14px !important;
  line-height: 1.6;
}

.search-hots span:not(:first-child)::before,
.search-hots a:not(:first-child)::before {
  display: none !important;
  content: none !important;
}

.home-cat-post {
  padding: 18px 0 28px !important;
}

.home-cat-post section.container {
  max-width: 1440px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.home-cat-post .row {
  --bs-gutter-x: 1.25rem;
  --bs-gutter-y: 1.45rem;
}

.home-cat-post .section-title,
.home-cat-post .module-title,
.home-cat-post h2.title,
.home-cat-post .cat-title {
  color: var(--gm-text) !important;
}

.home-cat-post h1,
.home-cat-post h2,
.home-cat-post h3,
.home-cat-post [class*="title"],
.home-cat-post [class*="Title"] {
  color: #111113 !important;
  text-shadow: none !important;
}

.post-item.item-grid {
  height: 100%;
  overflow: visible;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: transform .22s ease;
}

.post-item.item-grid:hover {
  transform: translateY(-2px);
  box-shadow: none !important;
}

.post-item.item-grid .entry-media {
  margin: 0 0 12px !important;
  overflow: hidden;
  border-radius: 12px !important;
  background: #f1f1f3 !important;
  box-shadow: none !important;
}

.post-item.item-grid .media-img,
.post-item.item-grid img {
  transition: transform .3s ease;
}

.post-item.item-grid:hover .media-img,
.post-item.item-grid:hover img {
  transform: scale(1.045);
}

.post-item.item-grid .entry-wrapper {
  padding: 0 !important;
  background: transparent !important;
}

.entry-cat-dot {
  margin-bottom: 4px !important;
}

.entry-cat-dot a {
  color: var(--gm-muted) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.entry-title {
  min-height: 0;
  margin-bottom: 8px !important;
  color: var(--gm-text) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.entry-title a {
  color: var(--gm-text) !important;
}

.entry-title a:hover {
  color: #000 !important;
}

.entry-desc {
  color: var(--gm-muted) !important;
}

.entry-meta {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  margin-top: 0 !important;
  color: var(--gm-muted) !important;
  font-size: 13px !important;
}

.entry-meta .price,
.entry-meta .meta-price,
.entry-meta [class*="price"],
.entry-meta .vip-price {
  color: #18181b !important;
  font-weight: 700 !important;
}

.site-footer {
  margin-top: 44px !important;
  background: var(--gm-panel) !important;
  border-top: 1px solid var(--gm-border) !important;
  color: var(--gm-muted) !important;
}

.site-footer a {
  color: #52525b !important;
}

.rollbar,
.rollbar .actions,
.rollbar ul {
  background: transparent !important;
  box-shadow: none !important;
}

.rollbar {
  right: 22px !important;
}

.rollbar li,
.rollbar .actions li {
  margin-bottom: 8px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.rollbar li::before,
.rollbar li::after,
.rollbar a::before,
.rollbar a::after,
.rollbar .actions li::before,
.rollbar .actions li::after,
.rollbar .actions a::before,
.rollbar .actions a::after {
  display: none !important;
  content: none !important;
}

.rollbar a,
.rollbar button,
.rollbar .actions a {
  width: 46px !important;
  min-height: 46px !important;
  overflow: hidden !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #3f3f46 !important;
}

.rollbar a:hover,
.rollbar button:hover,
.rollbar .actions a:hover {
  background: transparent !important;
  color: #111113 !important;
}

.rollbar i,
.rollbar svg,
.rollbar span {
  color: #3f3f46 !important;
}

.back-top,
.back-top.back-top-show {
  width: 40px !important;
  height: 40px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.back-top::before,
.back-top::after {
  display: none !important;
  content: none !important;
}

.back-top i,
.back-top svg,
.back-top span {
  color: #3f3f46 !important;
}

.back-top:hover,
.back-top:focus {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #111113 !important;
}

.archive-hero,
.archive-filter,
.term-bar,
.filter--content {
  background: var(--gm-panel) !important;
  border: 1px solid var(--gm-border) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

@media (min-width: 1200px) {
  .row-cols-lg-4 > * {
    width: 33.333333% !important;
  }
}

@media (max-width: 768px) {
  .site-header .navbar {
    min-height: 60px;
  }

  .site-header .logo-wrapper,
  .site-header .logo-wrapper a {
    width: auto !important;
    max-width: 152px !important;
    flex: 0 1 152px;
  }

  .site-header .logo-wrapper img,
  .site-header .logo {
    width: auto !important;
    max-width: 152px !important;
    height: auto !important;
  }

  .site-header .actions {
    margin-left: auto !important;
    gap: 10px;
    flex: 0 0 auto;
  }

  .home-search-box .search-bg,
  .home-search-box .search-warp {
    min-height: 360px !important;
  }

  .home-search-box .search-warp {
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .search-title {
    max-width: calc(100vw - 28px);
    margin-bottom: 34px !important;
    font-size: 0 !important;
  }

  .search-title::after {
    font-size: clamp(1.95rem, 8.2vw, 2.35rem);
    white-space: nowrap;
  }

  .search-form {
    border-radius: 22px !important;
  }

  .search-form form,
  .search-form .search-fields {
    gap: 6px;
  }

  .search-form button {
    min-width: 76px;
    padding: 0 18px !important;
  }

  .post-item.item-grid .entry-media {
    margin: 10px 10px 0 !important;
  }

  .post-item.item-grid .entry-wrapper {
    padding: 12px !important;
  }

  .entry-title {
    min-height: 40px;
    font-size: 14px !important;
  }
}
