/* =========================================================
   BLACK HAT — PRODUCTS
   V35 RESPONSIVE SITE BACKGROUND SYSTEM

   DESKTOP:
   site-urban-bg-desktop-v1.png

   TABLET / MOBILE:
   site-urban-bg-v1.png
   ========================================================= */


/* =========================================================
   PAGE
   ========================================================= */

.products-page {
  margin: 0;
  min-height: 100vh;
  color: #f5f2eb;

  background:
    linear-gradient(
      rgba(0,0,0,.80),
      rgba(0,0,0,.80)
    ),
    url("../images/site-urban-bg-desktop-v1.png")
    center center /
    cover
    fixed
    no-repeat,
    #050505;

  font-family:
    Arial,
    Helvetica,
    sans-serif;
}


.products-shell {
  position: relative;
  min-height: 100vh;
  overflow-x: hidden;
  padding-top: 86px;
  box-sizing: border-box;
}


/* =========================================================
   OLD SIDE SPLATTER DISABLED
   ========================================================= */

.products-shell::before,
.products-shell::after {
  display: none !important;
  content: none !important;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.products-page .top-nav {
  z-index: 50;
}


.products-page .products-menu {
  position: relative;
}


.products-page .products-toggle {
  color: #d7a324;
}


.products-page .products-dropdown {
  display: none;
  position: absolute;
  top: 42px;
  left: 50%;
  transform: translateX(-50%);
  min-width: 185px;
  padding: 8px;
  background: #080808;
  border: 1px solid #8f6818;
  box-shadow: 0 16px 35px #000;
}


.products-page .products-menu.open .products-dropdown {
  display: block;
}


.products-page .products-dropdown a {
  display: block;
  padding: 12px 14px;
  color: #eee;
  text-decoration: none;
  white-space: nowrap;
}


.products-page .products-dropdown a:hover,
.products-page .products-dropdown a.current {
  color: #e0aa2c;
  background: rgba(214,161,43,.08);
}


/* =========================================================
   CART
   ========================================================= */

.products-page .cart {
  background: rgba(0,0,0,.28) !important;
  border: 1px solid #d6a12b !important;
  box-shadow: none !important;
}


.products-page .cart svg {
  fill: none !important;
  stroke: #d6a12b !important;
}


.products-page .cart-count {
  background: #d6a12b !important;
  color: #080808 !important;
}


/* =========================================================
   CATALOG SHELL
   ========================================================= */

.catalog {
  position: relative;
  z-index: 2;

  width:
    min(
      1080px,
      calc(100% - 70px)
    );

  margin: 0 auto;
  padding: 22px 0 70px;
}


/* =========================================================
   CATALOG HEADER
   ========================================================= */

.catalog-header {
  text-align: center;
  margin: 0 auto 22px;
}


.catalog-header .eyebrow {
  display: none;
}


/* =========================================================
   APPROVED RASTER WORDMARK
   ========================================================= */

.catalog-header h1.catalog-title-v23 {
  margin: 0 auto;

  width:
    min(
      680px,
      80vw
    );

  max-width: 100%;
  overflow: visible !important;
  transform: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
}


.catalog-header h1.catalog-title-v23 img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  overflow: visible;
}


/* =========================================================
   HEADER COPY
   ========================================================= */

.gold-rule {
  width: 110px;
  height: 3px;
  margin: 17px auto 15px;
  background: #d7a324;
}


.catalog-intro {
  margin: 0;
  color: #eee;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: .015em;
}


/* =========================================================
   CATALOG HIGHLIGHTS
   ========================================================= */

.catalog-highlights {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;

  gap: 8px 22px;
  margin-top: 13px;

  color: rgba(224,170,44,.90);

  font-size: 9px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .16em;
  text-transform: uppercase;
}


.catalog-highlights span {
  position: relative;
  white-space: nowrap;
}


.catalog-highlights span:not(:last-child)::after {
  content: "•";
  position: absolute;
  top: 50%;
  right: -14px;
  transform: translateY(-50%);
  color: rgba(255,255,255,.48);
}


/* =========================================================
   TOOLBAR
   ========================================================= */

.catalog-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 25px;

  margin: 26px 0 9px;
  padding: 0 4px;
}


.product-count {
  color: #d6a12b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .2em;
  white-space: nowrap;
}


.search-box {
  display: flex;
  align-items: center;

  gap: 12px;

  color: #d6a12b;

  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}


.search-box input {
  width: 230px;
  height: 35px;

  box-sizing: border-box;

  border: 1px solid #795817;
  outline: none;

  padding: 0 12px;

  color: #eee;
  background: rgba(5,5,5,.88);
}


.search-box input:focus {
  border-color: #d6a12b;

  box-shadow:
    0 0 0 1px
    rgba(214,161,43,.16);
}


.search-box input::placeholder {
  color: rgba(255,255,255,.42);
}


/* =========================================================
   SHOPPING GUIDANCE
   ========================================================= */

.catalog-guidance {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;

  gap: 7px;

  min-height: 26px;

  margin: 0 4px 13px;

  color: rgba(255,255,255,.66);

  font-size: 10px;
  line-height: 1.4;
  letter-spacing: .035em;
}


.guidance-main {
  color: #d6a12b;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
}


.guidance-separator {
  color: rgba(214,161,43,.72);
}


.guidance-copy {
  color: rgba(255,255,255,.64);
}


/* =========================================================
   PRODUCT GRID
   APPROVED V30 SPACING
   ========================================================= */

.product-grid {
  display: grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0,1fr)
    );

  gap: 8px;
}


/* =========================================================
   PRODUCT CARD
   ========================================================= */

.product-card {
  position: relative;
  min-width: 0;
  overflow: hidden;

  background:
    linear-gradient(
      180deg,
      #090909 0%,
      #050505 100%
    );

  border: 1px solid #d89b00;

  box-shadow:
    0 0 10px
    rgba(216,155,0,.10);

  transition:
    border-color .16s ease,
    box-shadow .16s ease,
    transform .16s ease;
}


.product-card:hover {
  border-color: #e0aa2c;

  box-shadow:
    0 13px 30px rgba(0,0,0,.46),
    0 0 16px rgba(214,161,43,.08);

  transform: translateY(-1px);
}


.product-card::before,
.product-card::after {
  content: "";

  position: absolute;

  width: 14px;
  height: 14px;

  z-index: 3;

  pointer-events: none;
}


.product-card::before {
  left: 4px;
  top: 4px;

  border-left: 1px solid #e3aa26;
  border-top: 1px solid #e3aa26;
}


.product-card::after {
  right: 4px;
  bottom: 4px;

  border-right: 1px solid #e3aa26;
  border-bottom: 1px solid #e3aa26;
}


/* =========================================================
   PRODUCT ART
   APPROVED V30 VIAL SIZE
   ========================================================= */

.product-card .product-art {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 205px;

  overflow: hidden;

  border-bottom:
    1px solid
    rgba(214,161,43,.28);

  background:
    radial-gradient(
      circle at 50% 70%,
      rgba(224,160,0,.34),
      transparent 34%
    ),
    #080808;
}


.product-card .product-art::before,
.product-card .product-art::after {
  display: none !important;
  content: none !important;
}


.product-card .product-art img {
  display: block;

  height: 205px;
  width: auto;
  max-width: 70%;

  object-fit: contain;

  margin: auto;

  filter:
    drop-shadow(
      0 0 14px
      rgba(220,155,0,.38)
    );
}


/* =========================================================
   PRODUCT INFORMATION
   ========================================================= */

.product-info {
  padding: 14px 16px 16px;
}


.product-info h2 {
  margin: 0 0 5px;

  color: #e5a500;

  font-family:
    "Segoe Print",
    "Brush Script MT",
    "Arial Black",
    sans-serif;

  font-size: 18px;
  font-weight: 900;
  font-style: italic;
  line-height: 1.1;
  letter-spacing: -.04em;

  transform: skewX(-4deg);
  transform-origin: left center;
}


.strength {
  margin: 0 0 15px;
  color: #ddd;
  font-size: 11px;
}


/* =========================================================
   PRODUCT BUY ROW
   ========================================================= */

.product-buy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}


.product-buy strong {
  color: #e7a600;
  font-size: 24px;
  line-height: 1;
}


.add-cart {
  min-width: 112px;

  border: 1px solid #e0a000;

  padding: 10px 12px;

  color: #e0a000;
  background: transparent;

  cursor: pointer;

  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .06em;

  transition:
    background .15s ease,
    color .15s ease,
    border-color .15s ease;
}


.add-cart:hover {
  background: #d6a12b;
  color: #050505;
}


.add-cart:focus-visible {
  outline:
    2px solid
    rgba(224,170,44,.85);

  outline-offset: 2px;
}


/* =========================================================
   COPYRIGHT
   ========================================================= */

.products-page .site-copyright {
  position: relative;
  z-index: 5;

  width: 100%;

  box-sizing: border-box;

  padding: 0 20px 18px;

  color: rgba(255,255,255,.68);

  font-size: 10px;
  line-height: 1.4;
  letter-spacing: .04em;

  text-align: center;
}


/* =========================================================
   LARGE DESKTOP
   ========================================================= */

@media (min-width:1201px) {

  .products-shell {
    padding-top: 82px;
  }


  .catalog {
    width:
      min(
        1280px,
        calc(100% - 150px)
      );

    padding-top: 14px;
  }


  .catalog-header {
    margin-bottom: 16px;
  }


  .gold-rule {
    margin-top: 19px;
    margin-bottom: 15px;
  }


  .catalog-intro {
    font-size: 16px;
  }


  .catalog-toolbar {
    margin-top: 27px;
    margin-bottom: 9px;
  }

}


/* =========================================================
   THREE COLUMN
   ========================================================= */

@media (max-width:1050px) {

  .product-grid {
    grid-template-columns:
      repeat(
        3,
        minmax(0,1fr)
      );
  }


  .catalog {
    width:
      min(
        90%,
        850px
      );
  }

}


/* =========================================================
   TABLET
   USE PORTRAIT INTERIOR BACKGROUND
   ========================================================= */

@media (max-width:800px) {

  .products-page {
    background:
      linear-gradient(
        rgba(0,0,0,.82),
        rgba(0,0,0,.82)
      ),
      url("../images/site-urban-bg-v1.png")
      center top /
      cover
      no-repeat,
      #050505;

    background-attachment: scroll;
  }


  .product-grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      );
  }


  .catalog {
    width: calc(100% - 30px);
  }


  .catalog-header h1.catalog-title-v23 {
    width:
      min(
        94vw,
        680px
      );
  }


  .catalog-toolbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }


  .search-box {
    width: 100%;
  }


  .search-box input {
    width: 100%;
  }


  .product-card .product-art {
    min-height: 195px;
  }


  .product-card .product-art img {
    height: 195px;
    max-width: 72%;
  }


  .catalog-highlights {
    gap: 7px 18px;
    font-size: 8px;
  }


  .catalog-highlights span:not(:last-child)::after {
    right: -11px;
  }


  .catalog-guidance {
    margin-bottom: 12px;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:520px) {

  .products-page {
    background:
      linear-gradient(
        rgba(0,0,0,.84),
        rgba(0,0,0,.84)
      ),
      url("../images/site-urban-bg-v1.png")
      center top /
      cover
      no-repeat,
      #050505;

    background-attachment: scroll;
  }


  .products-shell {
    padding-top: 88px;
  }


  .catalog {
    width: calc(100% - 24px);
    padding-bottom: 55px;
  }


  .catalog-header h1.catalog-title-v23 {
    width: 88vw;
  }


  .gold-rule {
    margin-top: 14px;
  }


  .catalog-intro {
    max-width: 330px;

    margin: 0 auto;

    font-size: 13px;
    line-height: 1.45;
  }


  .catalog-highlights {
    max-width: 330px;

    margin: 12px auto 0;

    gap: 6px 16px;

    font-size: 7px;
    letter-spacing: .12em;
  }


  .catalog-toolbar {
    margin-top: 22px;
  }


  .catalog-guidance {
    display: block;

    margin: 2px 3px 12px;

    font-size: 9px;
    line-height: 1.5;
  }


  .guidance-main {
    display: block;

    margin-bottom: 2px;

    font-size: 8px;
  }


  .guidance-separator {
    display: none;
  }


  .product-grid {
    grid-template-columns: 1fr;
  }


  .product-card .product-art {
    min-height: 205px;
  }


  .product-card .product-art img {
    height: 205px;
    max-width: 70%;
  }


  .product-info {
    padding: 14px 16px 16px;
  }


  .product-info h2 {
    font-size: 18px;
  }


  .product-buy strong {
    font-size: 23px;
  }


  .add-cart {
    min-width: 116px;
    padding: 11px 12px;
  }

}


/* Product confidence details */
.product-confidence{
  display:grid;
  gap:5px;
  margin:0 0 13px;
  padding:10px 0;
  border-top:1px solid rgba(214,161,43,.18);
  border-bottom:1px solid rgba(214,161,43,.18);
  color:#aaa59b;
  font-size:9px;
  line-height:1.35;
  letter-spacing:.035em;
}
.product-confidence .source-badge{
  width:max-content;
  padding:3px 6px;
  border:1px solid rgba(214,161,43,.52);
  color:#dda72c;
  font-weight:900;
  letter-spacing:.10em;
}
.product-confidence small{
  color:#77736b;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.product-confidence .availability-status{
  font-weight:900;
  letter-spacing:.055em;
}

.product-confidence .availability-status.is-in-stock{
  color:#83cf99;
}

.product-confidence .availability-status.needs-verification{
  color:#d8b967;
}
.product-buy .add-cart{
  min-height:38px;
  font-weight:900;
}



/* V38 conversion-focused product action hierarchy */
.product-buy{
  align-items:stretch;
  margin-top:10px;
}
.product-buy strong{
  display:flex;
  align-items:center;
  font-size:26px;
  font-weight:900;
}
.add-cart{
  min-width:132px;
  min-height:44px;
  border-color:#d6a12b;
  background:#d6a12b;
  color:#050505;
  box-shadow:0 0 0 1px rgba(214,161,43,.12),0 8px 18px rgba(0,0,0,.24);
}
.add-cart:hover{
  background:#efbd45;
  border-color:#efbd45;
}
.add-cart:disabled{
  cursor:not-allowed;
  opacity:.55;
  background:#171717;
  color:#777;
  border-color:#444;
  box-shadow:none;
}
.add-cart.added{
  background:#171717;
  color:#83cf99;
  border-color:#4f8d61;
}
.product-testing-summary{
  color:#9f9b92;
}
.product-testing-summary a{
  font-size:8px;
  opacity:.9;
}
.product-confidence{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:0 0 8px;
  padding:6px 0;
  border-top:0;
  border-bottom:1px solid rgba(214,161,43,.14);
}
.product-confidence small{
  white-space:nowrap;
}
.catalog-cart-feedback{
  position:fixed;
  left:50%;
  bottom:24px;
  z-index:120;
  display:grid;
  gap:4px;
  width:min(440px,calc(100% - 28px));
  padding:13px 16px;
  transform:translate(-50%,18px);
  opacity:0;
  border:1px solid rgba(214,161,43,.72);
  background:rgba(7,7,7,.96);
  box-shadow:0 16px 40px rgba(0,0,0,.45);
  color:#eee;
  pointer-events:none;
  transition:opacity .16s ease,transform .16s ease;
}
.catalog-cart-feedback.show{
  opacity:1;
  transform:translate(-50%,0);
}
.catalog-cart-feedback strong{
  color:#83cf99;
  font-size:11px;
  letter-spacing:.08em;
}
.catalog-cart-feedback span{
  color:#d9d4c9;
  font-size:11px;
}
@media(max-width:520px){
  .product-buy{
    gap:12px;
  }
  .product-buy strong{
    font-size:25px;
  }
  .add-cart{
    flex:1;
    min-width:138px;
    min-height:46px;
  }
  .product-confidence{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Facebook conversion pass — persistent cart-to-checkout path */
.catalog-checkout-bar{
  position:fixed;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  z-index:7000;
  width:min(760px,calc(100% - 28px));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 14px 12px 18px;
  box-sizing:border-box;
  border:1px solid #d6a12b;
  background:rgba(7,7,7,.96);
  box-shadow:0 14px 38px rgba(0,0,0,.78);
  backdrop-filter:blur(8px);
}
.catalog-checkout-bar__summary{
  display:flex;
  flex-direction:column;
  gap:3px;
  color:#fff;
}
.catalog-checkout-bar__summary strong{
  color:#f1c75b;
  font-size:11px;
  letter-spacing:.08em;
}
.catalog-checkout-bar__summary span{
  color:#b7b1a8;
  font-size:11px;
}
.catalog-checkout-bar__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border:1px solid #d6a12b;
  background:#d6a12b;
  color:#050505;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-decoration:none;
  white-space:nowrap;
}
.has-catalog-checkout-bar .site-copyright{padding-bottom:90px!important}
@media(max-width:620px){
  .catalog-checkout-bar{
    left:10px;
    right:10px;
    bottom:10px;
    transform:none;
    width:auto;
    gap:10px;
    padding:10px;
  }
  .catalog-checkout-bar__button{
    min-height:48px;
    padding:10px 14px;
  }
  .catalog-checkout-bar__summary strong{font-size:10px}
  .catalog-checkout-bar__summary span{font-size:10px}
}


/* Facebook comment catalog entry */
.facebook-comment-catalog-guide{
  display:grid;
  gap:5px;
  margin:14px 4px 4px;
  padding:12px 14px;
  border:1px solid rgba(214,161,43,.58);
  border-left:4px solid #d6a12b;
  background:rgba(7,7,7,.82);
}
.facebook-comment-catalog-guide strong{
  color:#f1c75b;
  font-size:10px;
  letter-spacing:.10em;
}
.facebook-comment-catalog-guide span{
  color:#d4d0c7;
  font-size:11px;
  line-height:1.5;
}
@media(max-width:520px){
  .product-buy{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .product-buy strong{
    justify-content:flex-start;
  }
  .add-cart{
    width:100%;
    min-width:0;
    min-height:50px;
    font-size:10px;
  }
  .facebook-comment-catalog-guide{
    margin-left:0;
    margin-right:0;
  }
}



/* Week 1 merchandising: paid-revenue leader */
.product-card.top-seller{
  border-color:#f0bd3f;
  box-shadow:0 0 0 1px rgba(240,189,63,.18),0 14px 34px rgba(0,0,0,.5),0 0 22px rgba(214,161,43,.12);
}
.product-card.top-seller .product-art{
  background:
    radial-gradient(circle at 50% 68%,rgba(224,160,0,.46),transparent 38%),
    #080808;
}
.top-seller-badge{
  position:absolute;
  top:10px;
  left:10px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border:1px solid rgba(240,189,63,.9);
  background:rgba(5,5,5,.92);
  color:#f1c75b;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 6px 18px rgba(0,0,0,.35);
}
@media(max-width:520px){
  .top-seller-badge{top:9px;left:9px;font-size:8px}
}


/* =========================================================
   V39 MOBILE CATALOG CONVERSION TEST
   Treatment: <=520px only. Desktop remains the concurrent control.
   ========================================================= */

.mobile-catalog-proof,
.mobile-filter-toggle {
  display: none;
}

@media (max-width:520px) {
  .catalog {
    padding-top: 8px;
  }

  .catalog-header {
    margin-bottom: 8px;
  }

  .catalog-header h1.catalog-title-v23 {
    width: 72vw;
  }

  .gold-rule {
    width: 82px;
    margin: 8px auto 8px;
  }

  .catalog-intro,
  .catalog-highlights,
  .catalog-order-terms,
  .catalog-trust-links {
    display: none !important;
  }

  .mobile-catalog-proof {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px 12px;
    margin: 6px auto 4px;
    padding: 7px 9px;
    border-top: 1px solid rgba(214,161,43,.42);
    border-bottom: 1px solid rgba(214,161,43,.42);
    color: #d9d4c9;
    font-size: 8px;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  .mobile-catalog-proof span {
    white-space: nowrap;
  }

  .catalog-toolbar {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    margin: 9px 0 8px;
    padding: 0;
    align-items: center;
  }

  .product-count {
    grid-column: 1;
    grid-row: 1;
  }

  .catalog-toolbar > .search-box:first-of-type {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .catalog-secondary-filter {
    display: none;
    grid-column: 1 / -1;
  }

  .catalog-toolbar.mobile-filters-open .catalog-secondary-filter {
    display: flex;
  }

  .mobile-filter-toggle {
    grid-column: 2;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid #795817;
    background: rgba(5,5,5,.88);
    color: #d6a12b;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .10em;
    cursor: pointer;
  }

  .catalog-guidance {
    display: none;
  }

  .product-grid {
    gap: 12px;
  }

  .product-card .product-art {
    min-height: 136px;
  }

  .product-card .product-art img {
    height: 136px;
    max-width: 56%;
  }

  .product-info {
    padding: 10px 14px 14px;
  }

  .product-info h2 {
    margin-bottom: 2px;
    font-size: 20px;
  }

  .strength {
    margin-bottom: 6px;
  }

  .product-detail-link {
    margin: -2px 0 6px;
  }

  .product-confidence {
    margin-bottom: 6px;
    padding: 4px 0;
  }

  .product-buy {
    margin-top: 6px;
  }

  .product-buy strong {
    font-size: 27px;
  }

  .add-cart {
    min-height: 52px;
    font-size: 11px;
    letter-spacing: .08em;
  }
}
