.configurator-purchase-component {
  max-width: 1400px;
  margin: 2rem auto;
  padding: 0 1rem;
  scroll-margin-top: 120px;
    .configurator-purchase{
	scroll-margin-top: 120px;
  }
  h2:not(.product-name) {
    font-family: "RazerF5", "Roboto", Arial, sans-serif;
    text-transform: uppercase;
    color: var(--cx-color-primary);
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    padding: 0 1rem;
  }
    .view-devices:not(.hidden) h2:not(.product-name){
	  animation: zoom-in-zoom-out 1s ease 1;
  }
    .view-selector h2{
	  font-size: 1.4rem;
	  margin: 2rem auto .7rem auto;
  }
    .view-devices.part-1:has(ul li:only-child button[data-hash-change="none"]){
	  display: none;
  }
    li:has(button[aria-current="true"]){
	border: 1px solid var(--cx-color-primary);
  }
  @media (max-width: 600px) {
    h2:not(.product-name) {
      font-size: 1.5rem !important;
	  padding: 0 .75rem;
    }
  }
  .tablist {
    margin: 0 auto 1rem auto;
    width: fit-content;
    font-family: "RazerF5", "Roboto", Arial, sans-serif;
  }
  @media (max-width: 450px) {
    .tablist {
      text-align: center;
    }
  }
    .add-to-cart-btn.loading{
	animation: flash 2s infinite;
  }
  .tab {
    background: 0;
    border: 0;
    margin: 0;
    padding: 10px 20px;
    color: white;
    background-color: transparent;
    text-transform: uppercase;
    font-weight: 700;
    position: relative;
  }
  .tab:not(:last-child):after {
    content: "";
    display: inline-block;
    border: 1px solid white;
    height: 50%;
    position: absolute;
    right: -2px;
  }
  @media (max-width: 450px) {
    .tab {
      font-size: 12px;
    }
  }
  /** Focus state */
  .tab:focus {
    outline-offset: -4px;
    text-decoration: none;
  }
  /** Selected state (tabpanel visible) */
  .tab[aria-selected="true"],
  .tab[aria-selected="true"]:focus {
    text-decoration: underline;
    text-underline-offset: 5px;
    color: var(--cx-color-primary);
  }
  /** Disabled state */
  .tab[disabled="true"] {
    cursor: not-allowed;
    text-decoration: line-through;
  }
  /**
  Tab panels
*/
  .tabpanel {
    display: none;
    padding: 0px;
    background-color: transparent;
  }
  .tabpanel.is-visible {
    display: block;
  }
  .tabpanel h2 {
    margin-top: 0;
  }
  	.additional{
		font-size: 13px;
   line-height: 1.4;
   color: #999;
		margin: 0 0 2rem 0;
				h3{
			color: #fff;
			font-size: .875rem;
    font-weight: 400;
		}
	}
  .view-design,
  .view-add-to-cart,
  .view-selector {
    scroll-margin-top: 0px;
  }
    .view-devices {
    scroll-margin-top: 120px;
  }
  .view-design>h3,
  .view-devices>h3 {
    font-size: 18px;
    color: #999;
    font-family: "Roboto", Arial, sans-serif;
    padding: 0 1rem;
    text-align: center;
			min-height: 3.25rem;
  }
    .choose-design,
  .choose-devices {
    display: flex;
	justify-content: center;
    flex-wrap: wrap;
    row-gap: 1rem;
    column-gap: 1rem;
    padding-top: 1rem;
  }
    @media (min-width: 1200px) {
	.choose-design,
    .choose-devices {
		width: fit-content;
		margin: 0 auto;
    }
  }
  .choose-design li,
  .choose-devices li {
    text-align: center;
    background: #111;
    border-radius: 5px;
    padding: 1rem;
    min-height: 176px;
	min-width: 300px;
	max-width: 300px;
    font-family: "RazerF5", "Roboto", Arial, sans-serif;
    img {
      height: auto;
      width: auto;
      max-width: 180px;
	  min-width: 180px;
	  min-height: 180px;
      margin: 0 0 .5rem 0;
      transition: scale linear .25s;
    }
		img[src$=".svg"]{
			 height: 120px;
     width: 120px;
			 min-width: 120px;
			 filter: grayscale(1) contrast(3);
		}
		img.swatch{
		height: auto;
		margin: 50px auto;
	}
    button {
      color: white;
      background: transparent;
      border: none;
      font-weight: 500;
      line-height: 1.2;
      &:hover {
        color: var(--cx-color-primary);
        img {
          scale: 1.1;
        }
      }
	  	  .title{
		  display: block;
	  }
    }
  }
    .choose-devices button{
	  scroll-margin-top: 120px;
  }
  @media (max-width: 1200px) {
    .choose-devices li {
      min-width: 300px;
	  max-width: 300px;
    }
		.choose-design li {
      min-width: 300px;
	  max-width: 300px;
    }
  }
  @media (max-width: 710px) {
	.choose-design li,
    .choose-devices li {
      min-width: 300px;
	  max-width: 300px;
    }
  }
  @media (max-width: 360px) {
	.choose-design li,
    .choose-devices li {
      min-width: 300px;
	  max-width: 300px;
    }
  }
  .return-view {
    text-align: center;
    padding: 2rem 0;
    button {
      border: 1px solid transparent;
      background: transparent;
      color: var(--cx-color-primary);
      &:hover {
        border-bottom: 1px solid var(--cx-color-primary);
      }
      span:first-child:before {
        content: "<";
        margin: 0 .25rem 0 0;
      }
    }
  }
  .backdrop, .backdrop-selector {
    display: flex;
	visibility: hidden;
	opacity: 0;
	transition: opacity 300ms linear;
	transition-delay: 500ms;
	    position: absolute;
    width: 0px;
    height: 0px;
    background-color: rgba(0, 0, 0, .7);
    left: 0;
    top: 0;
    z-index: 9999;
    padding: .5rem .5rem 200px .5rem;
    justify-content: center;
    align-items: start;
		overflow: hidden;
  }
  .backdrop.is-visible, .backdrop-selector.is-visible {
    display: flex;
	visibility: visible;
	width: 100vw;
    height: 100vh;
	opacity: 1;
	overflow: auto;
	backdrop-filter: blur(2px);
  }
  .view-add-to-cart, .view-selector {
    position: relative;
    width: 100%;
    max-width: 1000px;
    height: fit-content;
    padding: 0;
    background-color: black;
    box-shadow: 0 0 50px 0 rgba(0, 0, 0, .7);
    border-radius: 10px;
    border: 1px solid var(--cx-color-primary);
    margin: 1rem 0 1rem 0;
  }
  .close-view button {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: 0;
    font-size: 12px;
    cursor: pointer;
    z-index: 2;
    span:first-child:before {
      content: '\2715';
      display: block;
      color: white;
      font-weight: 600;
      font-size: 1rem;
    }
    &:hover span:first-child:before {
      color: var(--cx-color-primary);
    }
  }
  .content-view {
    display: grid;
    grid-template-columns: 66% 1fr;
    column-gap: 1rem;
    margin: 1rem;
	align-items: center;
  }
  @media (max-width: 1200px) {
    .content-view {
      display: block;
    }
  }
  .bundle {
    position: relative;
    background: #222;
	color: #999;
	font-size: .875rem;
	line-height: 1.125;
	height: fit-content;
    border-radius: 5px;
  }
    .bundle ul{
	padding: 0 1rem;
	margin: 0;
  }
    .bundle ul li{
	display: grid;
    grid-auto-columns: 110px 1fr 120px;
    grid-auto-flow: column;
    grid-column-gap: 1rem;
	border-top: 1px solid #666;
	padding: 1rem 0;
  }
    .bundle ul li:first-child{
	border-top: none;
  }
    .bundle ul li:first-child img{
	width: 100%;
	height: auto;
  }
    .bundle ul li > div{
	padding: 1rem 0;
  }
    .bundle ul li > div:first-child{
	padding: 0;
	align-content: center;
  }
    .bundle ul li > div:first-child img{
	width: 100%;
	height: auto;
  }
    .bundle .title{
	font-size: 1.125rem;
	color: #fff;
  }
	.bundle .detail{
	margin-top: .5rem;
  }
    .bundle div:has(.final-qty){
	color: #fff;
	padding: 1.25rem 0;
  }
    .bundle div:has(.title){
	display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
    .bundle span.pnx-link-arrow:after {
    content: ">";
    display: inline;
    font-size: inherit;
   }
   	@media (max-width: 1200px) {
			.view-selector,
			.view-add-to-cart {
				max-width: 600px;
			}
		  .bundle ul {
			padding: 0 .5rem;
		   }
			  .bundle ul li{
			grid-auto-columns: minmax(30px, 10%) 1fr minmax(70px,20%);
			grid-column-gap: .5rem;
		  }
		  		  .bundle .title{
			font-size: .875rem;
		  }
		  		  .bundle ul li > div:has(.final-qty){
			font-size: .775rem;
		  }
	}
  .info-panel {
    margin-top: 20px;
	align-self: start;
  }
  .was-price-container {
    display: inline;
  }
  .paragraph h4 {
    font-size: .875rem;
    color: #999;
	margin-top: 1rem;
	padding: 0;
	font-weight: bold;
  }
    .paragraph ul {
    list-style: disc;
    margin-left: 1rem;
    font-size: .875rem;
    margin-top: 0rem;
    padding-bottom: 0.25rem;
    line-height: 1.4;
    color: #999;
  }
  .coverage {
    color: #fff;
    margin: 0 0 2rem 0;
    legend {
      font-size: .875rem;
    }
    label {
      display: grid;
      width: 100%;
      max-width: 320px;
      height: 50px;
      border: 1px solid #fff;
      border-radius: 3px;
      grid-template-columns: 1fr 50px;
      cursor: pointer;
      position: relative;
      &:focus-visible {
        outline: 1px solid #fff;
      }
      span {
        vertical-align: middle;
        align-content: center;
        padding: 0 .5rem;
      }
      input {
        vertical-align: middle;
        align-content: center;
        position: absolute;
        right: 0;
        margin: .9rem;
        width: 20px;
        height: 20px;
        appearance: none;
		border: none;
		background: transparent;
        &:after {
		  outline: 2px solid #fff;
          outline-offset: 4px;
          background-color: transparent;
          left: 5px;
          top: 5px;
        }
        &:checked:after {
          background-color: var(--cx-color-primary);
		  outline: 2px solid var(--cx-color-primary);
          outline-offset: 4px;
        }
      }
    }
  }
  .glide__slide img {
    width: 100%;
    height: auto;
  }
  .glide__arrows {
    -webkit-touch-callout: none;
    user-select: none;
    display: flex;
    height: 100%;
    align-items: center;
    position: absolute;
    top: 0;
    z-index: 1;
    &.hide {
      opacity: 0;
    }
    &.glide__arrows-previous {
      left: 0;
      padding-left: 1rem;
    }
    &.glide__arrows-next {
      right: 0;
      padding-right: 1.5rem;
    }
    @media (max-width: 1200px) {
      &.glide__arrows-previous {
        left: 0;
        padding-left: 0;
        scale: 0.5;
      }
      &.glide__arrows-next {
        right: 0;
        padding-right: 0;
        scale: 0.5;
      }
    }
    .slider__arrow {
      background: none;
      border: 0;
      cursor: pointer;
      svg {
        filter: drop-shadow(0px 0px 1px black);
      }
    }
    .arrow-previous {
      left: 0;
    }
    .arrow-next {
      right: 0;
    }
  }
  .glide__bullets {
    -webkit-touch-callout: none;
    user-select: none;
    justify-content: center;
    position: absolute;
    width: 100%;
    bottom: 0px;
    text-align: center;
    line-height: 0;
    @media (max-width: 1200px) {
      bottom: -20px;
    }
    ul {
      padding: 0;
      margin: 0;
    }
    li {
      padding: 0;
      margin: 0;
      display: inline-block;
    }
    .glide__bullet {
      width: 12px;
      height: 12px;
      padding: 0;
      border-radius: 50%;
      transition: all 0.3s ease-in-out;
      cursor: pointer;
      line-height: 0;
      margin: 0 18px;
      background-color: #CCC;
      box-shadow: 0 0 0 1px #222;
      border: none;
      @media (max-width: 375px) {
        margin: 0 12px;
      }
      &:after {
        content: "";
        width: 48px;
        height: 48px;
        display: inline-block;
        border: none;
        position: relative;
        left: -18px;
        top: -18px;
      }
    }
    button.glide__bullet--active,
    .glide__bullet--active .glide__bullet {
      background-color: #44d62c;
    }
  }
    .carousel-board-glide.only-one{
		.screen-reader-only-pnx.glide__sr, .glide__bullets, .glide__arrows{
			display:none;
		}
  }
.loader {
  --color-1: #999;
  --size: 1px;
  width: calc(48 * var(--size));
  height: calc(48 * var(--size));
  border: calc(5 * var(--size)) solid var(--color-1);
  border-bottom-color: transparent;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
  position: relative;
  left: calc(50% - 24px);
  margin: 2rem auto;
}
}
.configurator-purchase-component .hidden,
.configurator-purchase-component li:has(.filter-hide){
  display: none;
}
@keyframes flash {
	0% {background-color: #44d62c;}
	50% {background-color: #3a8e2d;}
	100% {background-color: #44d62c;}
}
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes zoom-in-zoom-out {
  0% {
    scale: 100%;
  }
  50% {
    scale: 110%;
  }
  100% {
    scale: 100%;
  }
}