/*
Theme Name: StadiumHelix Marketplace Site
Theme URI: https://stadiumhelix.com
Author: StadiumHelix
Author URI: https://stadiumhelix.com
Description: Site theme fork for the StadiumHelix marketplace platform.
Version: 1.4.1
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: stadiumhelix-marketplace-site
*/

:root{
  --sh-bg:#06080c;
  --sh-bg-soft:#10141b;
  --sh-panel:#11161d;
  --sh-panel-soft:#181f29;
  --sh-border:rgba(255,255,255,.1);
  --sh-text:#f6f7fb;
  --sh-muted:#a8b2c3;
  --sh-accent:#f57a1b;
  --sh-accent-strong:#ff8e2b;
  --sh-shadow:0 24px 64px rgba(0,0,0,.4);
  --sh-radius:24px;
  --sh-radius-sm:16px;
  --sh-wrap:1440px;
}

*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--sh-text);
  font-family:"Segoe UI",Helvetica,Arial,sans-serif;
  background:
    radial-gradient(circle at 10% 10%,rgba(245,122,27,.12),transparent 26%),
    radial-gradient(circle at 90% 10%,rgba(0,132,255,.12),transparent 24%),
    linear-gradient(180deg,#05070b,#0a0f15 38%,#07090d 100%);
}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
.site-main a,.site-footer a{text-decoration:none}
.sh-wrap{width:min(var(--sh-wrap),calc(100% - 32px));margin:0 auto}
.sh-button,
button,
input[type=submit]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:0 20px;
  border-radius:14px;
  border:1px solid rgba(245,122,27,.7);
  background:linear-gradient(180deg,var(--sh-accent-strong),var(--sh-accent));
  color:#fff;
  text-decoration:none;
  font-weight:700;
  cursor:pointer;
}
.sh-button.is-ghost{
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.14);
}
.sh-input,
.sh-select,
.search-field,
textarea{
  width:100%;
  min-height:56px;
  padding:0 18px;
  color:#fff;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
}
textarea{min-height:160px;padding:16px 18px}

.site-header{
  position:sticky;
  top:0;
  z-index:20;
  backdrop-filter:blur(14px);
  background:rgba(4,7,11,.78);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.site-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:88px;
}
.site-header__nav-group{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex:1;
  min-width:0;
}
.site-branding{display:grid;gap:4px;text-decoration:none}
.site-branding__title{
  font-size:clamp(1.7rem,3vw,2.6rem);
  text-transform:uppercase;
  letter-spacing:.08em;
  line-height:.9;
}
.site-branding__title strong{color:var(--sh-accent)}
.site-branding__tag{
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.32em;
  color:#eef2f8;
}
.site-navigation,
.site-creator-navigation{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.site-navigation a{
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#fff;
}
.site-creator-navigation a{
  text-decoration:none;
  color:#eef2f8;
}
.site-header__actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.site-header__actions a:not(.sh-button){
  text-decoration:none;
  color:#eef2f8;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.site-header__creator-row{
  border-top:1px solid rgba(255,255,255,.06);
  background:rgba(10,14,19,.82);
}
.site-header__creator-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:60px;
}
.site-header__creator-label{
  margin:0;
  color:var(--sh-muted);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  white-space:nowrap;
}

.site-main{padding-bottom:64px}

.sh-home-hero{
  margin-top:0;
  padding:28px 42px 30px;
  border:1px solid var(--sh-border);
  border-top:0;
  border-radius:0 0 28px 28px;
  background:
    linear-gradient(90deg,rgba(4,7,11,.96),rgba(5,8,12,.72) 42%,rgba(5,8,12,.14) 78%),
    url('assets/images/hero-main.jpg') center/cover no-repeat;
  box-shadow:var(--sh-shadow);
}
.sh-home-hero__eyebrow{
  margin:54px 0 10px;
  font-size:clamp(1rem,2vw,1.35rem);
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#f1f4f8;
}
.sh-home-hero__title{
  margin:0 0 24px;
  max-width:10ch;
  font-size:clamp(3.4rem,6vw,6rem);
  line-height:.88;
  text-transform:uppercase;
}
.sh-home-hero__search{
  display:grid;
  grid-template-columns:minmax(0,1fr) 170px;
  max-width:720px;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(14,18,25,.9);
}
.sh-home-hero__search .sh-input{border:0;border-radius:0;background:transparent}
.sh-home-device-row,
.sh-home-chip-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.sh-home-device-row{margin-top:18px}
.sh-home-device-row a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:168px;
  min-height:54px;
  padding:0 18px;
  text-decoration:none;
  text-transform:uppercase;
  border-radius:14px;
  background:rgba(23,27,34,.88);
  border:1px solid rgba(255,255,255,.14);
}

.sh-home-category-grid{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.sh-home-category{
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:94px;
  padding:14px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.04em;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.22)),url('assets/images/card-fallback.jpg') center/cover no-repeat;
  box-shadow:0 12px 24px rgba(0,0,0,.28);
}
.sh-home-category::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.62) 100%);
}
.sh-home-category span{position:relative;z-index:1}
.sh-home-category--downloads{background-image:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.28)),url('assets/images/dashboard.jpg')}
.sh-home-category--featured{background-image:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.28)),url('assets/images/hero-main.jpg')}
.sh-home-category--artist{background-image:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.28)),url('assets/images/hero-creator.jpg')}
.sh-home-category--rock{background-image:linear-gradient(180deg,rgba(255,80,80,.12),rgba(0,0,0,.32)),url('assets/images/hero-main.jpg')}
.sh-home-category--metal{background-image:linear-gradient(180deg,rgba(80,110,255,.16),rgba(0,0,0,.32)),url('assets/images/dashboard.jpg')}
.sh-home-category--blues{background-image:linear-gradient(180deg,rgba(90,110,255,.12),rgba(0,0,0,.32)),url('assets/images/hero-creator.jpg')}

.sh-home-layout{
  display:grid;
  grid-template-columns:290px minmax(0,1fr);
  gap:28px;
  margin-top:30px;
}
.sh-panel{
  border:1px solid var(--sh-border);
  border-radius:var(--sh-radius);
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));
  box-shadow:var(--sh-shadow);
}
.sh-filter-panel{padding:22px}
.sh-filter-panel h2{
  margin:0 0 18px;
  font-size:2rem;
  text-transform:uppercase;
}
.sh-filter-panel__stack{
  display:grid;
  gap:14px;
}
.sh-filter-panel__check{
  display:flex;
  align-items:center;
  gap:10px;
  color:#eef2f7;
}
.sh-filter-panel__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.sh-section-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.sh-section-header h2{
  margin:0;
  font-size:clamp(1.8rem,3vw,2.6rem);
  text-transform:uppercase;
}
.sh-section-header a{
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.sh-featured-grid{
  display:grid;
  grid-template-columns:1.14fr 1fr 1fr 1fr;
  gap:20px;
}
.sh-featured-card{
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  box-shadow:var(--sh-shadow);
}
.sh-featured-card.is-primary{border-color:rgba(245,122,27,.62)}
.sh-featured-card__media{
  aspect-ratio:60 / 41;
  background:url('assets/images/card-fallback.jpg') center/cover no-repeat;
}
.sh-featured-card__media img,
.sh-featured-card__fallback{
  width:100%;
  height:100%;
  object-fit:cover;
}
.sh-featured-card__fallback{
  background:linear-gradient(160deg,rgba(245,122,27,.18),rgba(17,22,31,.12)),url('assets/images/card-fallback.jpg') center/cover no-repeat;
}
.sh-featured-card__body{padding:18px 20px 20px}
.sh-featured-card__body h3{
  margin:0 0 10px;
  font-size:1.25rem;
  line-height:1.08;
}
.sh-featured-card__creator{
  margin:0 0 12px;
  color:#dde2eb;
}
.sh-featured-card__meta{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  color:#c6cfdd;
}
.sh-featured-card.is-primary .sh-featured-card__media,
.sh-featured-card.is-primary .sh-featured-card__media img,
.sh-featured-card.is-primary .sh-featured-card__fallback{aspect-ratio:60 / 41}
.sh-featured-card.is-primary .sh-featured-card__body h3{font-size:2rem}

.sh-stats-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
}
.sh-stats-row__item{
  display:flex;
  align-items:center;
  gap:12px;
}
.sh-stats-row__item strong{font-size:2rem}
.sh-stats-row__item span{color:#d1d7e2}

.sh-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:20px;
}
.sh-preset-card{
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  box-shadow:var(--sh-shadow);
}
.sh-preset-card__media{
  display:block;
  aspect-ratio:10 / 7;
  background:url('assets/images/card-fallback.jpg') center/cover no-repeat;
}
.sh-preset-card__media img,
.sh-preset-card__fallback{
  width:100%;
  height:100%;
  object-fit:cover;
}
.sh-preset-card__body{padding:18px 20px 20px}
.sh-preset-card__body h3{margin:0 0 8px;font-size:1.35rem;line-height:1.08}
.sh-preset-card__creator{margin:0 0 12px;color:#dde2eb}
.sh-preset-card__chips,
.sh-preset-card__meta,
.sh-preset-card__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.sh-chip{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 10px;
  border-radius:999px;
  font-size:.82rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
}
.sh-chip.is-accent{
  background:rgba(245,122,27,.14);
  border-color:rgba(245,122,27,.28);
  color:#ffd7b6;
}
.sh-preset-card__meta{margin-top:14px;color:#c6cfdd}
.sh-preset-card__actions{margin-top:18px}
.sh-preset-card__actions .shpm-like-button{cursor:pointer}
.sh-preset-card__actions .shpm-like-button:disabled{opacity:.72;cursor:default}

.sh-single-grid{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) 340px;
  gap:28px;
  margin-top:30px;
}
.sh-single-header{
  padding:28px;
  background:
    linear-gradient(120deg,rgba(13,18,24,.95),rgba(13,18,24,.72)),
    url('assets/images/hero-main.jpg') center/cover no-repeat;
}
.sh-single-image-panel img{
  width:100%;
  aspect-ratio:16 / 10;
  object-fit:cover;
  border-radius:16px;
}
.sh-single-main .sh-panel,
.sh-single-sidebar .sh-panel{padding:24px}
.sh-content p,.sh-content li{color:#d6dbe5}
.sh-content h2,.sh-content h3,.sh-content h4{color:var(--sh-text)}
.sh-content a{color:#ffb36f}
.sh-single-vote-box{
  margin-top:14px;
  padding:14px 0 4px;
  border-top:1px solid rgba(255,255,255,.08);
}
.sh-single-vote-box .shpm-like-button{cursor:pointer}
.sh-single-vote-box .shpm-like-button:disabled{opacity:.72;cursor:default}
.sh-single-vote-note{
  margin:10px 0 0;
  color:var(--sh-muted);
  font-size:.95rem;
}

.sh-blog-shell{
  padding-top:32px;
  padding-bottom:44px;
}
.sh-blog-hero{
  padding:30px 32px;
  margin-bottom:28px;
  background:
    linear-gradient(135deg,rgba(12,18,25,.96),rgba(12,18,25,.82)),
    url('assets/images/hero-main.jpg') center/cover no-repeat;
}
.sh-blog-kicker{
  margin:0 0 10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#ffb36f;
  font-size:.8rem;
}
.sh-blog-hero h1{
  margin:0;
  font-size:clamp(2.2rem,4vw,4rem);
}
.sh-blog-intro{
  margin-top:14px;
  max-width:760px;
  color:#d6dbe5;
}
.sh-blog-intro p{margin:0}

.sh-blog-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:24px;
}
.sh-post-card{
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.sh-post-card__media{
  display:block;
  aspect-ratio:16 / 9;
  background:rgba(255,255,255,.04);
}
.sh-post-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.sh-post-card__body{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:22px;
  height:100%;
}
.sh-post-card__meta{
  margin:0;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  color:var(--sh-muted);
  font-size:.95rem;
}
.sh-post-card__body h2{
  margin:0;
  font-size:1.6rem;
  line-height:1.08;
}
.sh-post-card__body .sh-button{
  margin-top:auto;
  align-self:flex-start;
}

.sh-blog-pagination{
  grid-column:1 / -1;
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-top:8px;
}
.sh-blog-pagination__prev,
.sh-blog-pagination__next{
  min-width:0;
}
.sh-blog-pagination a{
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:var(--sh-text);
}
.sh-blog-empty{
  grid-column:1 / -1;
  padding:30px;
}

.sh-blog-single{
  padding:32px;
  max-width:920px;
  margin:0 auto;
}
.sh-blog-single__header{
  margin-bottom:24px;
}
.sh-blog-single__meta{
  margin:0 0 10px;
  color:var(--sh-muted);
}
.sh-blog-single__header h1{
  margin:0;
  font-size:clamp(2.3rem,4vw,4.1rem);
  line-height:1.02;
}
.sh-blog-single__image{
  padding:12px;
  margin:0 0 24px;
}
.sh-blog-single__footer{
  margin-top:30px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.1);
}

.sh-woo-shell{
  padding-top:32px;
}
.sh-woo-panel{
  padding:28px;
}
.woocommerce .product{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:28px;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary{
  float:none;
  width:auto;
  margin:0;
}
.woocommerce div.product div.summary .price,
.woocommerce ul.products li.product .price{
  color:#ffd0a4;
  font-size:1.35rem;
  font-weight:700;
}
.woocommerce div.product .product_title{
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1;
  margin-bottom:12px;
}
.woocommerce div.product form.cart{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:20px;
}
.woocommerce div.product form.cart .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  min-height:48px;
  padding:0 20px;
  border-radius:14px;
  border:1px solid rgba(245,122,27,.7);
  background:linear-gradient(180deg,var(--sh-accent-strong),var(--sh-accent));
  color:#fff;
  font-weight:700;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{
  background:linear-gradient(180deg,var(--sh-accent-strong),var(--sh-accent));
}
.woocommerce .quantity .qty{
  min-height:46px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  color:#fff;
}
.woocommerce-tabs,
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .product_meta{
  color:#d6dbe5;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-radius:16px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
  color:#eef2f8;
}
.woocommerce-message{
  border-top-color:rgba(245,122,27,.7);
}
.woocommerce table.shop_table,
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{
  border-color:rgba(255,255,255,.1);
}
.woocommerce table.shop_table,
.woocommerce .cart_totals,
.woocommerce form.checkout,
.woocommerce form.login,
.woocommerce form.register{
  color:#eef2f8;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single{
  min-height:48px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  color:#fff;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  color:#fff;
  line-height:46px;
}
.select2-dropdown{
  background:#141922;
  border-color:rgba(255,255,255,.14);
}
.select2-search--dropdown .select2-search__field{
  background:#0f141b;
  color:#fff;
  border-color:rgba(255,255,255,.14);
}
.woocommerce ul.products li.product{
  width:100%;
  margin:0;
  padding:18px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));
  box-shadow:var(--sh-shadow);
}

.sh-creator-profile-head{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:24px;
  align-items:start;
}
.sh-creator-profile-avatar{
  width:220px;
  aspect-ratio:1 / 1;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
}
.sh-creator-avatar{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.site-footer{
  padding:34px 0 44px;
  border-top:1px solid rgba(255,255,255,.08);
  color:var(--sh-muted);
}
.site-footer__inner{
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}

@media (max-width:1200px){
  .sh-home-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sh-home-layout{grid-template-columns:1fr}
  .sh-featured-grid{grid-template-columns:1fr 1fr}
  .sh-single-grid{grid-template-columns:1fr}
  .woocommerce .product{grid-template-columns:1fr}
}

@media (max-width:900px){
  .site-header__inner,
  .sh-home-hero__nav{display:grid;grid-template-columns:1fr}
  .site-header__nav-group,
  .site-header__creator-inner{display:grid;grid-template-columns:1fr}
  .site-navigation,
  .site-header__actions,
  .site-creator-navigation{justify-content:flex-start}
  .sh-home-hero__search{grid-template-columns:1fr}
  .sh-home-device-row a{min-width:0;width:100%}
  .sh-featured-grid,
  .sh-stats-row{grid-template-columns:1fr}
  .sh-creator-profile-head{grid-template-columns:1fr}
  .sh-creator-profile-avatar{width:180px}
  .sh-blog-pagination{flex-direction:column}
}

@media (max-width:640px){
  .sh-wrap{width:min(var(--sh-wrap),calc(100% - 20px))}
  .sh-home-hero{padding:22px 18px 24px}
  .sh-home-category-grid,
  .sh-card-grid{grid-template-columns:1fr}
  .sh-blog-hero,
  .sh-blog-single,
  .sh-post-card__body{padding:20px}
  .sh-blog-grid{grid-template-columns:1fr}
}
