/* NiceJerseyShop B: cobalt, ice white and navy. Child theme presentation. */
@font-face {
  font-family: "NJS Barlow Condensed";
  src: url("assets/palette-b/barlow-condensed-800.woff2") format("woff2");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

@font-face {
  font-family: "NJS Inter";
  src: url("assets/palette-b/inter-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

body.njs-storefront {
  --njs-primary: #2454db;
  --njs-primary-hover: #1b42b3;
  --njs-on-primary: #fff;
  --njs-accent: #a7cfff;
  --njs-ink: #14213d;
  --njs-paper: #fff;
  --njs-neutral: #f8f8f8;
  --njs-soft: #eff4ff;
  --njs-line: #d9e0ed;
  --njs-muted: #5d6679;
  --njs-display: "NJS Barlow Condensed", "Arial Narrow", sans-serif;
  --njs-body: "NJS Inter", Inter, system-ui, sans-serif;
  background-color: var(--njs-paper);
  color: var(--njs-ink);
  font-family: var(--njs-body);
}

/* Header, search and navigation. The existing logo rules live in brand.css. */
body.njs-storefront :is(#masthead, .col-full-nav) {
  background-color: var(--njs-paper);
  color: var(--njs-ink);
  border-color: var(--njs-line);
}

body.njs-storefront .topbar-wrapper {
  background-color: var(--njs-neutral);
  border-color: var(--njs-line);
}

body.njs-storefront #masthead .site-search input[type="search"] {
  background-color: var(--njs-paper);
  color: var(--njs-ink);
  border-color: var(--njs-line);
  border-radius: 6px;
  font-family: var(--njs-body);
}

body.njs-storefront .main-navigation ul.menu > li > a.main-menu-link {
  color: var(--njs-ink);
}

body.njs-storefront .main-navigation ul.menu > li:is(:hover, .current-menu-item, .current-menu-ancestor) > a.main-menu-link {
  color: var(--njs-primary);
  box-shadow: inset 0 -2px var(--njs-primary);
}

body.njs-storefront .woocommerce-breadcrumb,
body.njs-storefront .woocommerce-result-count {
  color: var(--njs-muted);
}

/* Display typography for headings, short labels and prices. */
body.njs-storefront .site-main :is(h1.page-title, h1.entry-title, h1.product_title),
body.njs-storefront.home .site-main :is(h2.elementor-heading-title, .floorTitle_floor_title_css, .faqs_title h2),
body.njs-storefront .site-main :is(.related > h2, .upsells > h2, .cross-sells > h2, #customer_login h2, .cart_totals h2),
body.njs-storefront .site-main :is(.fjp-heading h3, .GProductDetailSide_title__FGaS7) {
  color: var(--njs-ink);
  font-family: var(--njs-display);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: .025em;
}

body.njs-storefront .site-main :is(h1.page-title, h1.entry-title, h1.product_title) {
  font-size: clamp(28px, 2.7vw, 40px);
}

body.njs-storefront.home .site-main :is(h2.elementor-heading-title, .floorTitle_floor_title_css, .faqs_title h2),
body.njs-storefront .site-main :is(.related > h2, .upsells > h2, .cross-sells > h2, #customer_login h2, .cart_totals h2) {
  font-size: clamp(26px, 2.4vw, 34px);
}

body.njs-storefront.home .site-main :is(
  .elementor-widget-heading:not(.seo-only-content) h2.elementor-heading-title,
  .floorTitle_floor_title_css
) {
  text-shadow: 2px 2px 0 #d2deef, 0 3px 5px rgb(20 33 61 / 12%);
}

body.njs-storefront.home .site-main :is(
  .elementor-widget-heading:not(.seo-only-content) h2.elementor-heading-title,
  .floorTitle_floor_title_css
)::after {
  display: none;
  content: none;
}

@media (max-width: 767px) {
  body.njs-storefront.home .site-main :is(
    .elementor-widget-heading:not(.seo-only-content) h2.elementor-heading-title,
    .floorTitle_floor_title_css
  ) {
    text-shadow: 1.5px 1.5px 0 #d2deef, 0 2px 3px rgb(20 33 61 / 10%);
  }
}

/* The six linked category cards at the top of the homepage. */
body.njs-storefront.home .fav-TOP6P-link {
  border-radius: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
  transform: none;
  transition: none;
}

body.njs-storefront.home .fav-TOP6P-figure {
  flex: none;
  border-radius: 6px;
  background: var(--njs-neutral);
}

body.njs-storefront.home .fav-TOP6P-figure img {
  transform: none;
}

body.njs-storefront.home .fav-TOP6P-label {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 7px 8px 7px 2px;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--njs-ink);
  text-align: start;
}

body.njs-storefront.home .fav-TOP6P-label::after {
  flex: 0 0 6px;
  height: 6px;
  margin-inline-start: auto;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(-45deg);
  content: "";
}

body.njs-storefront.home .fav-TOP6P-link:focus-visible {
  outline: 2px solid #8591a4;
  outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
  body.njs-storefront.home .fav-TOP6P-link:hover .fav-TOP6P-label {
    border-bottom-color: #8591a4;
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body.njs-storefront.home .fav-TOP6P-label::after {
    transition: transform .18s ease;
  }

  body.njs-storefront.home .fav-TOP6P-link:hover .fav-TOP6P-label::after {
    transform: translateX(3px) rotate(-45deg);
  }
}

@media (max-width: 768px) {
  body.njs-storefront.home .fav-TOP6P-label {
    gap: 5px;
    min-height: 40px;
    padding: 5px 6px 5px 2px;
  }
}

body.njs-storefront.home .faqs_wrap .faqs {
  background-color: var(--njs-soft);
  border: 1px solid var(--njs-line);
  border-radius: 4px;
}

body.njs-storefront.home .faqs_wrap .faqs_toggle_title {
  color: var(--njs-ink);
}

/* Catalog tiles and filters. Keep image framing and carousel behavior. */
body.njs-storefront .site-main :is(.woocommerce-image__wrapper, .shoptimizer-plp-image-wrapper),
body.njs-storefront .site-main .woocommerce-image__wrapper img {
  border-radius: 0;
}

body.njs-storefront .site-main .woocommerce-loop-product__title a {
  color: var(--njs-ink);
}

body.njs-storefront .site-main :is(.woocommerce-loop-product__title a, .fav-TOP6P-link):hover {
  color: var(--njs-primary);
}

body.njs-storefront .site-main :is(.products .price, .summary > .price, .favj-price-badge-row .price) {
  color: var(--njs-ink);
  font-family: var(--njs-display);
  font-weight: 800;
}

body.njs-storefront .site-main :is(.products .price, .summary .price) ins {
  color: var(--njs-ink);
}

body.njs-storefront .site-main :is(.products .price, .summary .price) del {
  color: var(--njs-muted);
}

/* Separate the compare-at price from the current price on product pages. */
body.njs-storefront.single-product .cgkit-as-variation-price {
  --njs-original-price-size: 12px;
  --njs-sale-price-size: 20px;
}

body.njs-storefront.single-product :is(.summary, .cgkit-as-variation-price) .price > del {
  margin-inline-end: 8px;
  color: var(--njs-muted);
  font: 500 var(--njs-original-price-size, 14px)/1.25 var(--njs-body);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}

body.njs-storefront.single-product :is(.summary, .cgkit-as-variation-price) .price > ins {
  color: var(--njs-ink);
  font: 800 var(--njs-sale-price-size, clamp(24px, 2vw, 28px))/1.1 var(--njs-display);
  text-decoration: none;
}

body.njs-storefront.single-product :is(.summary, .cgkit-as-variation-price) .price > :is(del, ins) :is(.amount, bdi, .woocommerce-Price-currencySymbol) {
  color: inherit;
  font: inherit;
}

body.njs-storefront .site-main .ckit-badge {
  /* CommerceKit sets these two colors on the badge element. */
  background-color: var(--njs-ink) !important;
  color: var(--njs-on-primary) !important;
  border-radius: 0;
  box-shadow: 2px 2px var(--njs-primary);
}

body.njs-storefront .site-main .quick-add-btn {
  background-color: var(--njs-paper);
  color: var(--njs-primary);
  border-color: var(--njs-line);
}

body.njs-storefront .site-main .quick-add-btn:hover {
  background-color: var(--njs-soft);
  color: var(--njs-primary-hover);
}

body.njs-storefront .widget-area .widget.woocommerce {
  border-color: var(--njs-line);
}

body.njs-storefront .widget-area .widget.woocommerce .widget-title {
  color: var(--njs-ink);
  font-family: var(--njs-display);
  font-weight: 800;
  letter-spacing: .035em;
}

body.njs-storefront .site-main :is(.woocommerce-ordering select, .mobile-filter),
body.njs-storefront .woocommerce-pagination :is(a.page-numbers, span.page-numbers) {
  background-color: var(--njs-paper);
  color: var(--njs-ink);
  border-color: var(--njs-line);
  border-radius: 0;
}

body.njs-storefront .woocommerce-pagination span.page-numbers.current {
  background-color: var(--njs-primary);
  color: var(--njs-on-primary);
  border-color: var(--njs-primary);
}

/* Product options: use existing selection attributes and classes. */
body.njs-storefront .site-main .fjp-option-grid {
  background: transparent;
  border: 0;
  padding: 0;
}

body.njs-storefront .site-main .fjp-heading .fjp-tag {
  background-color: #edf5ef;
  color: var(--njs-ink);
  border-radius: 0;
}

body.njs-storefront .site-main .GProductDetailSide_size-chart__Ujffv > li,
body.njs-storefront .site-main #fj-plus-root :is(.fjp-buttons > button, button.fjp-option) {
  background-color: var(--njs-paper);
  color: var(--njs-ink);
  border-color: var(--njs-line);
  border-radius: 0;
}

body.njs-storefront .site-main .GProductDetailSide_size-chart__Ujffv > li.GProductDetailSide_selected__H3Wwk,
body.njs-storefront .site-main #fj-plus-root :is(
  .fjp-buttons > button[aria-pressed="true"], button.fjp-option[aria-pressed="true"]
) {
  background-color: var(--njs-ink);
  color: var(--njs-on-primary);
  border-color: var(--njs-ink);
}

body.njs-storefront .site-main .commercekit-sg-label {
  color: var(--njs-primary);
}

/* Primary actions and the separate Buy Now treatment. */
body.njs-storefront .site-main :is(
  .single_add_to_cart_button.button, .checkout-button.button, #place_order,
  .woocommerce-form-login__submit, .woocommerce-form-register__submit, .return-to-shop .button
),
body.njs-storefront .widget_shopping_cart .woocommerce-mini-cart__buttons .checkout {
  background-color: var(--njs-primary);
  color: var(--njs-on-primary);
  border-color: var(--njs-primary);
  border-radius: 0;
  box-shadow: 3px 3px var(--njs-ink);
  font-family: var(--njs-display);
  font-weight: 800;
  font-size: 18px;
  letter-spacing: .04em;
}

body.njs-storefront .site-main :is(
  .single_add_to_cart_button.button, .checkout-button.button, #place_order,
  .woocommerce-form-login__submit, .woocommerce-form-register__submit, .return-to-shop .button
):hover,
body.njs-storefront .widget_shopping_cart .woocommerce-mini-cart__buttons .checkout:hover {
  background-color: var(--njs-primary-hover);
  border-color: var(--njs-primary-hover);
  color: var(--njs-on-primary);
}

body.njs-storefront .site-main :is(.single_add_to_cart_button, #place_order):is(:disabled, .disabled, [aria-disabled="true"]) {
  background-color: var(--njs-line);
  border-color: var(--njs-line);
  color: var(--njs-muted);
  box-shadow: none;
}

body.njs-storefront .site-main .buynow.button {
  background-color: #111;
  color: var(--njs-on-primary);
  border-color: #111;
  border-radius: 0;
  box-shadow: 3px 3px var(--njs-muted);
  font-family: var(--njs-display);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .04em;
}

body.njs-storefront .site-main .buynow.button:hover {
  background-color: #262626;
  border-color: #262626;
  color: var(--njs-on-primary);
}

@media (max-width: 767px) {
  body.njs-storefront.single-product .site-main :is(.single_add_to_cart_button.button, .buynow.button) {
    /* Override the fixed padding and line height of the sticky purchase controls. */
    padding-inline: 8px !important;
    line-height: 1.15 !important;
    white-space: normal;
  }
}

/* Compact the homepage promo rail on phones; retain its original image crop. */
@media (max-width: 767px) {
  body.njs-storefront.home .elementor-9749 .elementor-element-18156a67 > .elementor-widget-wrap {
    margin-top: 0;
  }

  body.njs-storefront.home .elementor-9749 .elementor-element-fjd1026 {
    margin-bottom: 0;
  }

  body.njs-storefront.home .fj-latest-drops {
    margin: 12px auto 0;
  }

  body.njs-storefront.home .fj-latest-track {
    gap: 12px;
  }

  body.njs-storefront.home .fj-latest-track .fj-latest-card {
    flex-basis: 64%;
    max-width: 280px;
  }

  body.njs-storefront.home .fj-latest-card > a {
    position: relative;
    isolation: isolate;
  }

  body.njs-storefront.home .fj-latest-image::after {
    content: '';
    position: absolute;
    inset: auto 0 0;
    height: 36%;
    min-height: 84px;
    background: linear-gradient(180deg, rgb(20 33 61 / 0%), rgb(20 33 61 / 72%) 60%, rgb(20 33 61 / 90%));
    pointer-events: none;
  }

  body.njs-storefront.home .fj-latest-drops .fj-latest-card h3 {
    position: absolute;
    z-index: 1;
    inset: auto 12px 12px;
    margin: 0;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-shadow: 0 1px 3px rgb(0 0 0 / 35%);
    overflow-wrap: anywhere;
  }
}

/* Account and checkout fields, keyboard focus, and footer. */
body.njs-storefront :is(#customer_login, .woocommerce-cart-form, .woocommerce-checkout) :is(
  input.input-text, select, textarea
) {
  background-color: var(--njs-paper);
  color: var(--njs-ink);
  border-color: var(--njs-line);
  border-radius: 0;
}

body.njs-storefront :is(.site-header, .col-full-nav, .site-main, .site-footer) :is(
  a, button, input, select, textarea, summary
):focus-visible {
  outline: 2px solid var(--njs-primary);
  outline-offset: 2px;
}

body.njs-storefront :is(.site-footer, footer.copyright) {
  background-color: var(--njs-neutral);
  color: var(--njs-ink);
  border-color: var(--njs-line);
}

body.njs-storefront :is(.site-footer, footer.copyright) :is(.widget, p, li, .textwidget, .review, a) {
  color: var(--njs-muted);
}

body.njs-storefront .site footer.site-footer .widget .widget-title,
body.njs-storefront .site footer.site-footer .widget.widget_block h2 {
  /* The mobile footer accordion forces white titles in the parent theme. */
  color: var(--njs-ink) !important;
  border-color: var(--njs-line);
  font-family: var(--njs-display);
  font-size: 19px;
  font-weight: 800;
  letter-spacing: .045em;
}

body.njs-storefront :is(.site-footer, footer.copyright) a:hover {
  color: var(--njs-primary);
}

body.njs-storefront .site-footer #custom_html-15 img[src*="nice-jersey-footer-flat"] {
  filter: none;
}
