.product-flag.new {
  display: none;
}

@font-face {
  font-family: 'XAP Source Sans Pro';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/source_sans_pro/SourceSansPro-Regular.woff2') format('woff2');
}

@font-face {
  font-family: 'XAP Source Sans Pro';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/source_sans_pro/SourceSansPro-Bold.woff2') format('woff2');
}

body,
button,
input,
select,
textarea {
  font-family: 'XAP Source Sans Pro', Arial, sans-serif;
}

a,
.text-primary {
  color: #e30613;
}

a:hover,
a:focus {
  color: #a9000b;
}

.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: #e30613;
  border-color: #e30613;
  color: #fff;
}

.btn-outline-primary {
  border-color: #e30613;
  color: #e30613;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: #e30613;
  border-color: #e30613;
  color: #fff;
}

.btn:focus,
.btn.focus,
.btn:active:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  box-shadow: 0 0 0 .15rem #000 !important;
  outline: 0 !important;
}

.products-sort-order .dropdown-menu .select-list:hover,
.products-sort-order .dropdown-menu .select-list:focus,
.products-sort-order .dropdown-menu .select-list.current {
  background-color: #000 !important;
  color: #fff !important;
  font-weight: 700 !important;
}

.homeslider-container .caption {
  left: auto;
  right: 9%;
  max-width: 42%;
  text-align: right;
}

.homeslider-container .caption h2,
.homeslider-container .caption div {
  text-align: right;
}

/* XAP visual language, adapted to the PS9 Classic DOM. */
#header .header-nav {
  background: #000;
  color: #fff;
  border: 0;
}

#header .header-nav a,
#header .header-nav .material-icons {
  color: #fff;
}

#header .header-top {
  background: #fff;
  padding: 1.2rem 0 0;
}

#header .logo {
  max-height: 108px;
  width: auto;
}

/* Preserve contrast for the dark logo within the black checkout header. */
#header .header-nav .logo {
  background: #fff;
  padding: .35rem .5rem;
}

/* Keep the selected delivery method aligned with XAP primary red. */
#checkout .delivery-option input[type='radio'] {
  accent-color: #e30613;
}

#checkout .payment-options input[type='radio'] {
  accent-color: #e30613;
}

#header .search-widget form input[type='text'] {
  border: 2px solid #e30613;
  border-radius: 1.5rem 0 0 1.5rem;
}

#header .search-widget form button[type='submit'] {
  background: #e30613;
  border-radius: 0 1.5rem 1.5rem 0;
}

#header .header-top .menu {
  margin-top: 1.2rem;
  background: #4a4a4a;
  border-radius: 0 0 3px 3px;
}

#header .top-menu[data-depth='0'] {
  align-items: stretch;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}

#header .top-menu[data-depth='0'] > li {
  align-items: stretch;
  border-right: 1px solid #aaa;
  display: flex;
  flex: 1 1 0;
  justify-content: center;
  min-width: 0;
  position: relative;
}

#header .top-menu[data-depth='0'] > li:last-child {
  border-right: 0;
}

#header .top-menu[data-depth='0'] > li > a {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: .7rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.55;
  min-height: 72px;
  padding: .4rem .3rem;
  text-align: center;
  text-transform: uppercase;
  white-space: normal;
  width: 100%;
  word-break: normal;
  overflow-wrap: break-word;
}


#header .top-menu[data-depth='0'] > li > .sub-menu {
  border-top: 3px solid #e30613;
  display: inline-block !important;
  left: 0 !important;
  max-width: max-content !important;
  min-width: 0 !important;
  padding: .55rem 0;
  position: absolute !important;
  right: auto !important;
  top: 100% !important;
  width: auto !important;
  z-index: 20;
}

/* Match the legacy menu: expose direct children only, never grandchildren. */
#header .top-menu .sub-menu .top-menu[data-depth='1'] {
  display: block;
}

#header .top-menu .sub-menu .top-menu[data-depth='1'] > li {
  display: block;
  width: 100%;
}

#header .top-menu .sub-menu .top-menu[data-depth='1'] > li > a {
  display: block;
  font-size: .78rem;
  padding: .5rem 1.25rem;
  white-space: nowrap;
  text-transform: uppercase;
}

#header .top-menu .sub-menu .top-menu[data-depth='2'],
#header .top-menu .sub-menu .top-menu[data-depth='1'] .collapse {
  display: none !important;
}

#header .top-menu a:hover,
#header .top-menu .popover a:hover {
  color: #e30613;
}

#header .top-menu[data-depth='0'] > li > a:hover,
#header .top-menu[data-depth='0'] > li > a:focus,
#header .top-menu[data-depth='0'] > li > a:active,
#header .top-menu .sub-menu a:hover,
#header .top-menu .sub-menu a:focus,
#header .top-menu .sub-menu a:active {
  color: #000 !important;
  font-weight: 700 !important;
}

#content-wrapper .homeslider-container {
  margin-bottom: 0;
}

.homeslider-container .caption {
  bottom: 18%;
  color: #fff;
  text-shadow: 0 1px 3px #000;
}

.homeslider-container .caption h2 {
  font-size: clamp(1.5rem, 3vw, 3.4rem);
  font-weight: 500;
  text-transform: uppercase;
}

.homeslider-container .caption div {
  font-size: clamp(1.1rem, 2.4vw, 2.6rem);
}

#wrapper {
  background: #fff;
}

#category #left-column {
  display: none;
}

#category #content-wrapper {
  width: 100%;
}

#category .block-category > .h1 {
  display: block;
  color: #000;
  font-size: 1.75rem;
  margin: 0 0 1.25rem;
}

#category #js-product-list-header {
  margin: 0;
  padding: 0;
}

#category .block-category {
  background: transparent;
  border: 0;
  box-shadow: none;
  margin: 0;
  padding: 0;
}

#category .block-category-inner {
  padding: 0;
}

#category #category-description {
  color: #000;
  max-width: none;
}

#category #products {
  margin-top: 2.5rem;
}

#category #category-description > :first-child {
  color: #000 !important;
  margin-bottom: 1.4rem;
}

#category #category-description p {
  margin: 0 0 1.35rem;
}

#category #category-description a {
  color: #000 !important;
  font-weight: 700;
}

#category #category-description strong,
#category #category-description b {
  color: #000 !important;
  font-weight: 700 !important;
}

#category #category-description h2,
#category #category-description h3 {
  color: #000;
  font-weight: 400 !important;
  margin: 2rem 0 1rem;
}

#category #category-description h2 strong,
#category #category-description h3 strong {
  font-weight: 400 !important;
}

#product .product-description {
  color: #000;
}

#product .product-description h1 {
  color: #000;
  font-weight: 700;
  margin: 1.5rem 0 1.4rem;
}

#product .product-description h2,
#product .product-description h3 {
  color: #000;
  font-weight: 400 !important;
  margin: 2rem 0 1rem;
}

#product .product-description p {
  margin: 0 0 1.35rem;
}

#product .product-description strong,
#product .product-description b,
#product .product-description a {
  color: #000 !important;
  font-weight: 700 !important;
}


#category .subcategories ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}

#category .subcategories ul li {
  margin: 0;
  width: 180px;
}

#category .subcategory-image {
  display: block;
}

#category #subcategories .subcategory-image a:hover,
#category #subcategories .subcategory-image a:focus,
#category #subcategories .subcategory-image a:active {
  border: 3px solid #000 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

#subcategories .subcategory-image a.img,
#subcategories .subcategory-image a.img:visited {
  border: 1px solid #000 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

#subcategories .subcategory-image a.img:hover,
#subcategories .subcategory-image a.img:focus,
#subcategories .subcategory-image a.img:active {
  border: 4px solid #000 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

#block-newsletter .btn:focus,
#block-newsletter .btn:active,
#block-newsletter .btn.active {
  background-color: #000 !important;
  border-color: #000 !important;
}

#category .subcategory-name {
  display: block;
  font-weight: 700;
  margin-top: .65rem;
  text-align: center;
  text-transform: uppercase;
}

#category #subcategories .subcategory-name:hover,
#category #subcategories .subcategory-name:focus,
#category #subcategories .subcategory-name:active {
  color: #000 !important;
  font-weight: 900;
}

#subcategories li:has(.subcategory-name:hover) .subcategory-image a.img,
#subcategories li:has(.subcategory-name:focus) .subcategory-image a.img {
  border: 4px solid #000 !important;
}

#subcategories li:has(.subcategory-image a.img:hover) .subcategory-name,
#subcategories li:has(.subcategory-image a.img:focus) .subcategory-name {
  color: #000 !important;
  font-weight: 900;
}

/* Product gallery thumbnails must follow the XAP black visual treatment. */
#product .product-images .thumb,
.quickview .product-images .thumb {
  border: 1px solid #000 !important;
  box-shadow: none !important;
}

#product .product-images .thumb:hover,
#product .product-images .thumb:focus,
#product .product-images .thumb.selected,
.quickview .product-images .thumb:hover,
.quickview .product-images .thumb:focus,
.quickview .product-images .thumb.selected {
  border: 4px solid #000 !important;
}

#product .xap-swiper-thumbs {
  overflow: hidden;
  padding: 0 2rem;
  position: relative;
}

#product .xap-swiper-thumbs .product-images {
  margin: 0;
}

#product .xap-swiper-thumbs .swiper-slide {
  height: auto;
  margin: 0;
  width: auto;
}

#product .xap-swiper-previous,
#product .xap-swiper-next {
  background: transparent;
  border: 0;
  color: #000;
  font-size: 1.8rem;
  line-height: 1;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}

#product .xap-swiper-previous { left: .25rem; }
#product .xap-swiper-next { right: .25rem; }

/* Keep the gallery in place when images have different proportions. */
#product .product-cover {
  align-items: center;
  aspect-ratio: 1 / 1;
  display: flex;
  justify-content: center;
}

#product .product-cover picture,
#product .product-cover img {
  height: 100%;
  width: 100%;
}

#product .product-cover img {
  object-fit: contain;
}

/* Product descriptions imported from the former tab retain its tab-pane classes. */
#product [id^='product-description-short-'] > .tab-pane {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#product .xap-product-tech-docs {
  background-color: #fff;
  display: flex;
  gap: .75rem;
  margin: 1rem 0;
  padding: .9rem;
}

#product .xap-product-tech-docs a {
  background: #e30613;
  border-radius: 999px;
  color: #fff;
  flex: 1;
  font-size: .8rem;
  font-weight: 700;
  padding: .55rem .8rem;
  text-align: center;
  text-transform: uppercase;
}

#product .xap-product-tech-docs a:hover,
#product .xap-product-tech-docs a:focus {
  background: #000;
  color: #fff;
}

#product .xap-login-price {
  color: #e30613;
  display: inline-block;
  font-weight: 700;
  margin-bottom: 1rem;
}

#product .xap-customer-price,
#product .xap-customer-price .product-prices,
#product .xap-customer-price .product-price,
#product .xap-customer-price .current-price,
#product .xap-customer-price .current-price-value,
#product .xap-customer-price .tax-shipping-delivery-label,
.quickview .xap-customer-price,
.quickview .xap-customer-price .product-prices,
.quickview .xap-customer-price .product-price,
.quickview .xap-customer-price .current-price,
.quickview .xap-customer-price .current-price-value,
.quickview .xap-customer-price .tax-shipping-delivery-label {
  color: #e30613 !important;
}

#product .xap-customer-price {
  margin-bottom: 1.25rem;
}

#product .xap-customer-price-label {
  font-size: 1.1rem;
  font-weight: 700;
  margin-right: .4rem;
}

#product .xap-customer-price .product-prices,
#product .xap-customer-price .product-price,
#product .xap-customer-price .current-price,
.quickview .xap-customer-price .product-prices,
.quickview .xap-customer-price .product-price,
.quickview .xap-customer-price .current-price {
  display: inline;
}

#product .xap-customer-price .tax-shipping-delivery-label,
.quickview .xap-customer-price .tax-shipping-delivery-label {
  display: inline;
  margin-left: .35rem;
}

#product .tabs .nav-tabs .nav-link {
  border-bottom: 3px solid transparent;
  color: #777;
}

#product .tabs .nav-tabs .nav-link.active {
  border-bottom-color: #e30613;
  color: #e30613;
}

#product .tabs .nav-tabs .nav-link:not(.active):hover {
  border-bottom-color: #777;
  color: #777;
}

/* Keep every language option legible on the white dropdown panel. */
#_desktop_language_selector .language-selector > button,
#_desktop_language_selector .language-selector > button .expand-more,
#_desktop_language_selector .language-selector .dropdown-menu .dropdown-item {
  color: #e30613 !important;
}

#_desktop_language_selector .language-selector .dropdown-menu .dropdown-item:hover,
#_desktop_language_selector .language-selector .dropdown-menu .dropdown-item:focus {
  background: #f5f5f5;
  color: #000 !important;
}

/* Keep carousel copy legible in the dark panel built into each slide. */
#carousel .carousel-item figure {
  position: relative;
}

#carousel .carousel-item .caption {
  align-items: flex-end;
  background: transparent;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  left: 58%;
  padding: 2rem 3rem;
  right: 0;
  text-align: right;
  top: 0;
}

#carousel .carousel-item .caption .display-1,
#carousel .carousel-item .caption .caption-description {
  color: #fff !important;
  text-shadow: none;
}

#carousel .carousel-item .caption .display-1 {
  font-size: clamp(1.4rem, 3vw, 3rem);
  line-height: 1.08;
  margin: 0;
}

#category .xap-customization-contact {
  margin: 2rem auto;
  max-width: 48rem;
  padding: 2rem;
  text-align: center;
}

#category .xap-customization-contact h2 {
  color: #000;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: .8rem;
}

#category .xap-customization-contact p {
  color: #555;
  font-size: 1.05rem;
  margin-bottom: 1.4rem;
}

#category .xap-customization-contact-button {
  background: #e30613;
  color: #fff;
  display: inline-block;
  font-weight: 700;
  padding: .8rem 1.4rem;
  text-transform: uppercase;
}

#category .xap-customization-contact-button:hover,
#category .xap-customization-contact-button:focus {
  background: #000;
  color: #fff;
}

.contact-form .bootstrap-filestyle .xap-file-upload-button {
  background: #e30613 !important;
  border-color: #e30613 !important;
  color: #fff !important;
  display: inline-block;
  font-weight: 700;
  padding: .7rem 1rem;
  text-transform: uppercase;
}

.contact-form .bootstrap-filestyle .xap-file-upload-button:hover,
.contact-form .bootstrap-filestyle .xap-file-upload-button:focus {
  background: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}

.contact-form .xap-online-support {
  border-top: 1px solid #bbb;
  margin: 1.6rem auto 0;
  max-width: 42rem;
  padding-top: 1rem;
}

.contact-form .xap-support-button {
  background: #000;
  color: #fff;
  display: block;
  font-size: 1rem;
  font-weight: 700;
  padding: .75rem 1rem;
  text-align: center;
  text-transform: uppercase;
}

.contact-form .xap-support-button:hover,
.contact-form .xap-support-button:focus {
  background: #e30613;
  color: #fff;
}

/* Footer navigation must remain readable and visually neutral. */
#footer .footer-container .links li a {
  color: #222 !important;
}

#footer .footer-container .links li a:hover,
#footer .footer-container .links li a:focus {
  color: #000 !important;
}

body#identity input[type='radio'] {
  accent-color: #e30613;
}

@media (max-width: 767px) {
  #header .header-nav .mobile {
    align-items: center;
    background: #fff;
    display: flex;
    min-height: 3.5rem;
    padding: .25rem .75rem;
  }

  #header #menu-icon {
    color: #e30613;
    font-size: 2rem;
    order: 1;
    padding: .6rem 1rem;
  }

  #header #_mobile_user_info {
    order: 2;
  }

  #header #_mobile_logo {
    margin: 0 0 0 auto;
    max-width: 8.5rem;
    order: 3;
  }

  #header #_mobile_logo img {
    height: auto;
    max-height: 3.25rem;
    max-width: 100%;
  }

  #mobile_top_menu_wrapper {
    background: #fff;
    border-top: 2px solid #e30613;
    margin: 0 -15px;
    padding: 0 15px 1rem;
  }

  #mobile_top_menu_wrapper .top-menu {
    display: block !important;
    margin: 0 !important;
    width: 100% !important;
  }

  #mobile_top_menu_wrapper .top-menu > li {
    border-bottom: 1px solid #ddd;
    display: block;
    float: none !important;
    padding: 0;
    position: relative;
    width: 100% !important;
  }

  #mobile_top_menu_wrapper .top-menu > li > a,
  #mobile_top_menu_wrapper .top-menu .dropdown-item {
    color: #111 !important;
    display: block;
    font-size: 1rem;
    font-weight: 700;
    padding: .9rem .25rem;
    text-align: left;
  }

  #mobile_top_menu_wrapper .top-menu .sub-menu,
  #mobile_top_menu_wrapper .top-menu .collapse {
    float: none !important;
    position: static !important;
    width: 100% !important;
  }

  #mobile_top_menu_wrapper .top-menu .sub-menu {
    background: #f7f7f7;
    margin: 0;
    padding: 0 .75rem;
  }

  #mobile_top_menu_wrapper .top-menu .sub-menu li {
    border-top: 1px solid #e3e3e3;
    display: block;
    width: 100%;
  }

  #carousel .carousel-item .caption {
    align-items: flex-start;
    background: rgba(0, 0, 0, .86);
    bottom: 0;
    left: 0;
    padding: .9rem 1rem;
    right: 0;
    text-align: left;
    top: auto;
  }

  #carousel .carousel-item .caption .display-1 {
    font-size: clamp(1.15rem, 5.5vw, 1.65rem);
    line-height: 1.15;
  }

  #carousel .carousel-item .caption .caption-description {
    display: block;
    font-size: .9rem;
    line-height: 1.3;
    margin-top: .35rem;
  }

  #carousel .carousel-item figure > img {
    min-height: 18rem;
    object-fit: cover;
  }
}

/* Match cart surfaces to the XAP red and keep order information readable. */
#_desktop_cart .blockcart,
#_mobile_cart .blockcart {
  background: #e30613 !important;
}

#_desktop_cart .blockcart a,
#_desktop_cart .blockcart .cart-products-count,
#_mobile_cart .blockcart a,
#_mobile_cart .blockcart .cart-products-count {
  color: #fff !important;
}

#blockcart-modal .product-name,
#blockcart-modal .product-line-info a,
#blockcart-modal .cart-content,
#blockcart-modal .cart-content p,
#blockcart-modal .cart-products-count {
  color: #000 !important;
}

#cart .product-price,
#cart .product-line-grid-right .price,
#blockcart-modal .product-price {
  color: #e30613 !important;
}

/* Keep a clear direct link to each product when prices are hidden. */
#category .xap-product-link {
  background: #000;
  color: #fff;
  display: inline-block;
  font-size: .78rem;
  font-weight: 700;
  margin-top: .8rem;
  padding: .45rem .8rem;
  text-transform: uppercase;
  white-space: nowrap;
}

#category .xap-product-link:hover,
#category .xap-product-link:focus {
  background: #e30613;
  color: #fff;
}

@media (max-width: 767px) {
  #product .xap-product-tech-docs {
    flex-direction: column;
  }

  #header .top-menu[data-depth='0'] > li > a {
    text-align: left;
  }

  .homeslider-container .caption {
    right: 6%;
    max-width: 58%;
  }
}
