/* =========================================================
   Collection / Shop Archives
   Scope:
   - /shop/
   - product category pages
   - product tag pages
   - product search pages
========================================================= */

body.post-type-archive-product #primary,
body.post-type-archive-product .site-main,
body.post-type-archive-product .content-area,
body.tax-product_cat #primary,
body.tax-product_cat .site-main,
body.tax-product_cat .content-area,
body.tax-product_tag #primary,
body.tax-product_tag .site-main,
body.tax-product_tag .content-area,
body.search #primary,
body.search .site-main,
body.search .content-area{
  max-width: 100% !important;
  width: 100% !important;
  margin-right: 0 !important;
  padding-right: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* =========================================================
   /shop/ page: game collection grid
========================================================= */

.gb-shop-main{
  width: 100%;
}

.gb-games{
    padding: 0 !important;
  padding-bottom: 40px !important;
}

.gb-games__header{
  padding: 24px 0 10px;
}

.gb-games__title{
  font-size: 34px !important;
  line-height: 1.1 !important;
  margin: 0 0 14px !important;
  color: var(--gb-text);
}

.gb-games__search{
  max-width: 720px;
  padding: 0 !important;
}

.gb-subsearch{
  padding: 0;
}

.gb-subsearch__field{
  position: relative;
}

.gb-subsearch__input{
  width: 100% !important;
  height: 44px !important;
  border: 1px solid var(--gb-border) !important;
  border-radius: 6px !important;
  padding: 10px 44px 10px 12px !important;
  background: #fff !important;
  box-shadow: none !important;
  outline: none !important;
  font-size: 15px !important;
}

.gb-subsearch__input:focus{
  border-color: #111827 !important;
}

.gb-subsearch__clear{
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid #d1d5db !important;
  background: #fff !important;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #6b7280 !important;
  box-shadow: none !important;
  cursor: pointer;
}

.gb-subsearch__clear:hover{
  color: #111827 !important;
  border-color: #9ca3af !important;
}

.gb-subsearch__clear svg{
  width: 14px;
  height: 14px;
  display: block;
}

.gb-subsearch__clear[hidden],
.gb-subsearch__empty[hidden]{
  display: none !important;
}

.gb-subsearch__empty{
  margin-top: 14px;
  text-align: center;
  font-weight: 700;
  color: #6b7280;
}

.gb-games-grid{
  display: grid;
  gap: 18px;
  margin-top: 16px;
  grid-template-columns: repeat(9, minmax(0, 1fr));
}

.gb-games-card{
  display: block;
  text-decoration: none !important;
  color: inherit !important;
}

.gb-games-card__media{
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f3f3f3;
  border-radius: 4px;
}
.gb-games-card:hover .gb-games-card__name{
    color: #efbbcf;
}
.gb-games-card__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
}

.gb-games-card__img--empty{
  width: 100%;
  height: 100%;
  background: #f3f3f3;
}

.gb-games-card__name{
  margin-top: 8px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.25;
  word-break: break-word;
  color: #111827;
}

.gb-games-empty{
  margin-top: 18px;
  font-size: 14px;
  font-weight: 700;
  color: #6b7280;
}

@media (max-width: 1024px){
  .gb-games-grid{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (max-width: 768px){
  .gb-games-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .gb-games__title{
    font-size: 28px !important;
  }
}

/* =========================================================
   Category / tag / product search archive header
========================================================= */

.gb-collection-main{
  width: 100%;
}

.gb-collection-header{
  padding: 18px 0 0px;
}

.gb-collection-header__inner{
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 !important;
}

.gb-collection-title-row{
  display: flex;
  align-items: center;
  gap: 10px;
}

.gb-collection-image{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: fit-content !important;
}

.gb-collection-image__img{
  width: 34px;
  height: 34px;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
}

.gb-collection-title{
  font-size: 24px !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  color: #111827;
}

@media (min-width: 751px){
  .gb-collection-title{
    font-size: 36px !important;
  }

  .gb-collection-image__img{
    width: 38px;
    height: 38px;
  }
}

.gb-badges--collection{
  margin: 10px 0 8px;
}

.gb-collection-more{
  width: fit-content;
  background: transparent !important;
  color: var(--gb-text) !important;
  border: 0 !important;
  padding: 0 !important;
  font-weight: 700 !important;
  text-decoration: underline;
  box-shadow: none !important;
  cursor: pointer;
}

.gb-collection-desc{
  margin-top: 8px;
  color: rgba(17,24,39,.75);
  line-height: 1.55;
  max-width: 820px;
}

.gb-collection-desc p{
  margin: 0 0 10px 0;
}

.gb-collection-desc p:last-child{
  margin-bottom: 0;
}

/* =========================================================
   Toolbar / sorting
========================================================= */

.gb-collection-toolbar{
  padding: 4px 0 12px;
}

.gb-collection-toolbar__inner{
  display: flex;
  align-items: center;
  justify-content: flex-start !important;
}

.gb-collection-toolbar__inner::before,
.gb-collection-toolbar__inner::after{
  content: none !important;
  display: none !important;
}

.gb-collection-toolbar__inner .woocommerce-notices-wrapper{
  display: none !important;
}

.gb-collection-toolbar .storefront-sorting{
display: none !important;
}

.gb-collection-toolbar .storefront-sorting::before,
.gb-collection-toolbar .storefront-sorting::after{
  content: none !important;
  display: none !important;
}

.gb-collection-toolbar .storefront-sorting .woocommerce-pagination{
  display: none !important;
}

.gb-collection-toolbar .woocommerce-ordering{
  margin: 0 !important;
  float: none !important;
}

.gb-collection-toolbar .woocommerce-result-count{
  margin: 0 !important;
  font-size: 14px;
  opacity: .75;
}

.gb-collection-toolbar select.orderby{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

  font: inherit;
  font-size: 14px;
  font-weight: 600;
  color: var(--gb-text);

  padding: 0 22px 0 0 !important;
  height: auto !important;
  line-height: 1.2;
  border-radius: 0 !important;
  cursor: pointer;

  background-repeat: no-repeat !important;
  background-position: right 0 center !important;
  background-size: 14px 14px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath fill='%23111827' d='M5.6 7.8a1 1 0 0 1 1.4 0L10 10.8l3-3a1 1 0 1 1 1.4 1.4l-3.7 3.7a1 1 0 0 1-1.4 0L5.6 9.2a1 1 0 0 1 0-1.4z'/%3E%3C/svg%3E") !important;
}

.gb-collection-toolbar select.orderby:focus{
  outline: none !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.gb-collection-toolbar select.orderby::-ms-expand{
  display: none;
}

/* =========================================================
   Product grid inside collection pages
========================================================= */

.gb-collection-grid{
  padding: 0 0 36px;
}

.gb-collection-grid__inner{
  width: 100%;
  padding: 0 !important;
}

.gb-collection-grid ul.products{
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: grid !important;
  gap: 8px !important;
  align-items: start !important;
}

.gb-collection-grid ul.products::before,
.gb-collection-grid ul.products::after{
  content: none !important;
  display: none !important;
}

.gb-collection-grid ul.products li.product{
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  clear: none !important;
  text-align: left !important;
}

.gb-collection-grid ul.products li.product a{
  text-align: left !important;
  text-decoration: none !important;
}

.gb-collection-grid ul.products li.product img{
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
}

.gb-collection-grid ul.products li.product .woocommerce-loop-product__title{
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin: 8px 0 4px !important;
  color: #111827 !important;
}

.gb-collection-grid ul.products li.product .price{
  font-weight: 700 !important;
  color: #efbbcf !important;
}

@media (min-width: 751px){
  .gb-collection-grid ul.products{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 750px){
  .gb-collection-grid ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4px !important;
  }
}

/* =========================================================
   Loop badges
========================================================= */

.badge__custom{
  font-size: 12px;
  z-index: 10;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  letter-spacing: 0.5px;
  width: fit-content;
  max-width: 100%;
  height: 22px;
  border-radius: 40px;
  padding: 0.5rem 0.8rem;
  color: #fff;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  text-transform: uppercase;
}

.badge__custom .badge__custom__inner{
  overflow: hidden;
  white-space: nowrap;
}

ul.products li.product a.woocommerce-LoopProduct-link{
  position: relative !important;
  display: block !important;
}

ul.products li.product a.woocommerce-LoopProduct-link > .gb-badge--loop{
  position: absolute !important;
  top: 7px !important;
  left: 0 !important;
  border-radius: 0 40px 40px 0 !important;
}

.badge__custom.gb-badge--soldout{
  background: rgba(255, 255, 255, 0.35) !important;
  border: 1px solid #ff0000;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.badge__custom.gb-badge--soldout .badge__custom__inner span{
  color: #ff0000 !important;
}

.gb-loop-soldout{
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 5;
  margin: 0;
}

/* =========================================================
   Wiser reviews area under collection
========================================================= */

.gb-wiser-reviews{
  max-width: 1200px;
  margin: 40px auto 0;
  padding: 0 16px 36px;
}

.Wisely-Fixed-Brand{
  display: none !important;
}

.Wsrspfapp-sort-dropdown{
  z-index: 1 !important;
  background: transparent !important;
}

.Wsrspfapp-sort-dropdown-arrow{
  background-color: transparent !important;
  z-index: 0 !important;
}

@media only screen and (max-width: 767px){
  .Wsrspfapp-theme-reviewapp .Wsrspfapp-sort-dropdown{
    max-width: max-content !important;
  }
}

.Wsrspfapp-reviewapp-title,
.WsWall-reV-title p{
  font-weight: 700 !important;
  font-size: 22px !important;
  margin-bottom: 0 !important;
  margin-top: 40px !important;
}

.Wsrspfapp-container,
.WsWall-cNtaiNr{
  padding: 0 !important;
}

.Wsrspfapp-rev-item-content,
.Wsrspfapp-rev-item-img{
  background: white !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .05) !important;
}

.Wsrspfapp-theme-wrap-medium .WsWallCd1-rev-item-inwrap{
  background: white !important;
  box-shadow: 0 4px 25px rgba(0, 0, 0, .08) !important;
}

.WsWallCd1-rev-content{
  background: white !important;
}

.WsWallCd1-rev-item-inwrap{
  box-shadow: 0 4px 25px rgba(0, 0, 0, .08) !important;
}

.Wsrspfapp-ldmr-btn-txt,
.Wsrspfapp-write-rev-link,
.WsWall-ldmr-btn-txt{
  color: white !important;
  background: black !important;
  font-weight: 700 !important;
  border-radius: 40px !important;
  text-transform: uppercase !important;
}

/* Store notice */
p.woocommerce-store-notice{
  display: none !important;
}

.gb-curated-archive {
  width: 100%;
  background: #ffffff;
}
.gb-curated-section {
  margin: 0 0 46px;
}

.gb-curated-section:last-child {
  margin-bottom: 0;
}

.gb-curated-section__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.gb-curated-section__title {
  margin: 0;
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -0.04em;
  color: #111827;
}

.gb-curated-section__subtitle {
  margin: 8px 0 0;
  color: #6b7280;
  font-size: 15px;
  line-height: 1.45;
}

.gb-curated-section__grid ul.products {
  margin-bottom: 0 !important;
}

.gb-curated-section__footer {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}

.gb-curated-section__button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 28px !important;
  border-radius: 999px !important;
  background: #c4a6d8 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none !important;
  border: 0 !important;
}

.gb-curated-section__button:hover {
  background: #a979cf !important;
  color: #ffffff !important;
}

@media (max-width: 768px) {
  .gb-curated-section {
    margin-bottom: 36px;
  }

  .gb-curated-section__head {
    margin-bottom: 14px;
  }

  .gb-curated-section__title {
    font-size: 25px;
  }

  .gb-curated-section__footer {
    margin-top: 22px;
  }
}

/* Product card images: subtle shadow, no unwanted margin */
.woocommerce ul.products li.product img,
ul.products li.product img,
.gb-curated-section ul.products li.product img,
.gb-products-row ul.products li.product img {
  margin: 0 !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .05) !important;
}

@media (max-width: 768px) {
  .gb-collection-header--curated .gb-collection-header__inner {
    margin-bottom: 18px !important;
  }
}

/* Curated collection description: prevent flash before JS closes it */
.gb-collection-desc.gb-collection-desc--closed {
  display: none !important;
}

.gb-collection-desc.gb-collection-desc--open {
  display: block !important;
}
body.woocommerce-checkout iframe[name^="__privateStripeFrame"],
body.woocommerce-checkout iframe[src*="stripe.com"] {
  max-width: 100% !important;
}

body.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
  padding-top: 0 !important;
}

body.woocommerce-checkout .wc-block-components-radio-control-accordion-option > label,
body.woocommerce-checkout .wc-block-components-radio-control__option-layout {
  display: none !important;
}