/* Product main */

.product.js-product .product-info__block--sm{
  margin: 24px auto;
}

.product-info__block.product-info__block--sm.rte.product-description{
  margin-top: 10px !important;
}


.product-media .media-gallery__viewer{
  border: none;
  background: none;
}

.product-media .media{
  border-radius: 10px;
}

.product-media .media-ctrl__counter{
  width: 81px;
  height: 42px;
  border-radius: 100px;
  border: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.product-media .media-ctrl__counter span {
  font-size: 16px;
  line-height: 130% !important;
  color: var(--dark-color);
}

.img-fit.img-fit--contain, .md\:img-fit.img-fit--contain{
  object-fit: cover !important;
}

.product-info .product-vendor a{
  color: var(--dark-gray-color);
  font-size: 16px;
  font-weight: 400;
  line-height: 130% !important;
}

.product-info__block.product-info__title{
  margin-top: 12px !important;
}

.product-info .product-title{
  color: var(--dark-color);
  font-size: 24px;
  font-weight: 400;
  line-height: 130% !important;
  max-width: 80%;

  @media screen and (min-width: 768px){
    font-size: 32px;
  }
}

.product-info .product-price{
    margin-top: -17px !important;
    margin-bottom: -30px !important;
}


.product-info .price .price__current{
  color: var(--dark-color);
  font-size: 20px !important;
  font-weight: 400;
  margin-right: 8px;

  @media screen and (min-width: 768px){
    font-size: 26px;  
  }
}
@media screen and (max-width: 768px){
    .product-info .product-price{
          margin-bottom: -25px !important;
    }
    .product .product-media.product-media--slider{
      margin-bottom: 5px;
    }
  }

.product-info .price.price--on-sale .price__current{
  color: var(--discount-color);
  font-weight: 600;
}

.product-info .price__was{
  color: var(--dark-gray-color);
  font-size: 18px;
  font-weight: 400;
  text-decoration: line-through;

  @media screen and (min-width: 769px){
    font-size: 20px;   
  }
}


#product_desription_main {
  line-height: 130% !important;
  overflow: hidden;
  transition: max-height 1s cubic-bezier(0, 1, 0, 1);
}

#product_desription_main.full {
  transition: max-height 1s ease-in-out;
}


#product_desription_main p,
#product_desription_main span{
  color: var(--dark-color) !important;
  font-size: 16px;
  font-weight: 400;
  line-height: 130% !important;
}

#product_desription_main a{
  color: var(--dark-color);
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: all 0.3s ease-in-out;
}

#product_desription_main a:hover{
  text-decoration: none;
  opacity: 1 !important;
}


button.read_more_btn{
  display: block;
  margin-top: 12px;
  color: var(--dark-color);
  font-size: 14px;
  font-weight: 400;
  line-height: 130% !important;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 4px;
  padding-bottom: 1px;
}

button.read_more_btn:hover{
  text-decoration: none;
  opacity: 1 !important;
}
  


.features-product-wrapper{
  margin-top: 20px;
  margin-bottom: 24px;
  display: flex;
  flex-wrap: wrap;
  column-gap: 32px;
  row-gap: 16px;

  @media screen and (min-width: 1200px){
    column-gap: 64px;
  }
}

.features-product-wrapper .features-product-item{
  width: calc((100% - 32px) / 2);
  display: flex;
  gap: 12px;
  align-items: center;

  @media screen and (min-width: 1200px){
    width: calc((100% - 128px) / 3); 
  }
}


.features-product-item .rte{
  font-size: 16px;
  font-weight: 400;
  line-height: 130% !important;
  color: var(--dark-color);
}


.features-product-wrapper .features-product-item img {
  width: 24px;
  height: 24px;

  @media screen and (min-width: 769px){
    width: 32px;
    height: 32px;  
  }
}

quantity-input {
  width: 113px;
  height: 48px;

  @media screen and (min-width: 1200px){
    min-width: 151px;    
  }
}

quantity-input .qty-input{
  width: 100%;
  height: 100%;
  border: 1px solid var(--border-color) !important;
  border-radius: 2px !important;
  color: var(--dark-color);
  font-size: 16px;
  line-height: 130% !important;
  font-weight: 400;
  padding: 11px;
}


quantity-input .qty-input button{
  width: 24px !important;
  height: 24px !important;
}

quantity-input .qty-input__input.input{
  font-size: 16px;
  color: var(--dark-color);
}

.product-info__add-button button.primary-btn, 
.product-info__add-button button.secondary-btn {
  width: 100%;
  max-width: 100% !important;
}


.delivery_date{
  padding: 0;
  width: 100%;
  margin-top: -10px;
     margin-bottom: -5px;
}

.delivery_date p{
  font-size: 16px;
  font-weight: 400;
  color: var(--dark-color);
  line-height: 130% !important;
  display: flex;
}

.delivery_date p span{
  display: block;
}

.delivery_date p span:first-of-type{
  margin-right: 8px;
}


.delivery_date p strong{
  font-weight: 600;
  text-transform: capitalize;
}

h4.table-heading{
  font-size: 18px;
  font-weight: 500;
  line-height: 130% !important;
  margin-bottom: 0 !important;
  color: var(--dark-color);
}

table:not(.cart-items){
  width: 100% !important;
}

table:not(.cart-items) tr:first-of-type td{
  padding-top: 16px !important;
}


table:not(.cart-items) tr td{
  font-size: 16px;
  color: var(--dark-color);
  line-height: 130% !important;
  border: none;
}


table:not(.cart-items) tr td:first-of-type{
  text-align: left;
  border-bottom: 1px solid var(--border-color) !important;
  padding-left: 0 !important;
  padding-top: 18px;
  padding-bottom: 8px;
  font-weight: 600;
}

table:not(.cart-items) tr td:last-of-type{
  text-align: right;
  border-bottom: 1px solid var(--border-color) !important;
  padding-right: 0 !important;
  padding-top: 18px;
  padding-bottom: 8px;
  font-weight: 400;

  @media screen and (min-width: 768px){
    text-align: left;
    
  }
}

.product-breadcrumbs + .product-main .product-info::before, 
.product-breadcrumbs + .product-main .product-info::after {
  display: none !important;
}


.product-main .product-media, 
.product-main + .product-details > .container{
  border-inline-end: none;
}


.product-main + .shopify-section:not(.product-details)::before {
  display: none !important;
}

.media-thumbs__btn {
  border: none !important;
}

.product.js-product .product-vendor-sku{
     margin: 0px !important;
  /* margin-top: 0 !important;
  margin-bottom: 12px !important; */
}

.product.js-product .product-info__add-button{
  position: relative;
}

@media screen and (min-width: 769px){
  .product.js-product .product-media{
    padding: 0;
  }

  .product.js-product .media-ctrl {
     display: none;
  }

  .product.js-product .media-thumbs {
    flex-wrap: wrap;
    gap: 12px;
  }

  .product.js-product .media-thumbs__item{
    margin-right: 0;
    flex: 0 0 calc((100% - 12px) / 2) !important;
  }

  .product.js-product .media-thumbs__item .img-fit.img-fit--contain,
  .product.js-product .media-thumbs__item .md\:img-fit.img-fit--contain{
    object-fit: cover !important;
  }

  .media-thumbs__btn.is-active::after, .product-media--stacked .media-viewer__item.is-active .media::after {
    display: none;
  }

  .product.js-product .product-info__add-button{
    max-width: unset;
  }

  .product.js-product .product-info__add-button button.primary-btn.is-loading,
  .product.js-product .product-info__add-button button.secondary-btn.is-loading{
    opacity: 0.4; 
  }




  .product-media .media-gallery__viewer ul{
    height: 100%;
  }

  .product-media .media .media-thumbs__btn{
    min-height: 352px;
  }

  .product-media .media{
    padding-top: 125.7% !important;
  }

  .product-media .media .media--cover{
    height: 100%;
  }

  .product-media .media .media--zoom .product-image{
    height: 100%;
  }

  .product-media .img-fit.img-fit--contain,
  .product-media .md\:img-fit.img-fit--contain{
    object-fit: cover !important;
  }

  .product-main .product-info{
    padding-left: 62px;
  }
  
}




/* Video block */

.product-info__block.product-info__block--sm.video-wrapper {
  width: 100%;
  height: 175px;
  height: auto;
  position: relative;

  @media screen and (min-width: 768px){
    height: 280px;
  }
}

.video-wrapper video {
  width: 100%;
  height: 100%;
  height: 175px;
  object-fit: cover;
  border-radius: 10px;

  @media screen and (min-width: 500px){
    height: 280px;
  }
}


.video-wrapper .video_controls{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}






/* Gift cart style */

.product-message{
  margin: -8px 0;
  border-radius: 10px !important;

  @media screen and (min-width: 769px){
    margin: 0;
  }
}

.product-info .product-message__inner{
  margin-inline-end: unset;
  padding: 15px;

  @media screen and (min-width: 769px){
    padding: 24px 16px !important; 
  }
}

.product-info__block.product-options{
  margin: 24px auto;
}

.option-selector:not(:last-child){
  margin-bottom: 24px !important;
}

.option-selector .label{
  font-size: 16px;
  font-weight: 600;
  line-height: 130% !important;
  color: var(--dark-color);
  margin-bottom: 12px;
}

.product-message .rte h1,
.product-message .rte h2,
.product-message .rte h3,
.product-message .rte h4,
.product-message .rte h5,
.product-message .rte h6{
  font-weight: 700;
  line-height: 130% !important;
  margin-bottom: 4px;
}

.product-message .rte h5{
  font-size: 18px;
}

.product-message .rte p{
  font-size: 14px;
  font-weight: 400;
  line-height: 130% !important;
  color: var(--dark-color);
}

.opt-label{
  border-radius: 100px !important;
  display: flex;
  justify-content: center;
  align-items: center;
}

.opt-label span {
  font-size: 16px;
  font-weight: 400;
  line-height: 130% !important;
  color: var(--dark-color);
}

.opt-btn:checked + .opt-label--btn{
  border: 1px solid var(--border-color);
  padding: 8px 16px;
}

.opt-btn:checked + .opt-label:not(.opt-label--swatch)::after{
  border-radius: 100px !important;
  box-shadow: none !important;
  border: 1px solid var(--dark-color) !important;
}

.opt-label:not([data-swatch])::after{
  border-radius: 100px !important;
}

.checkbox + label::before{
  width: 20px;
  height: 20px;
  border: 1px solid var(--border-color);
}

.checkbox + label{
  font-size: 16px;
  font-weight: 400;
  line-height: 130% !important;
  color: var(--dark-color);
}

.checkbox:checked + label::after{
  display: none;
}

.checkbox:checked + label::before{
   border: none;
   background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="20" height="20" rx="2" fill="%231400EB"/><path d="M8.73156 11.6904L13.109 7.16036C13.2123 7.05345 13.3351 7 13.4773 7C13.6195 7 13.7421 7.05345 13.845 7.16036C13.9483 7.26726 14 7.3943 14 7.54147C14 7.68864 13.9483 7.8155 13.845 7.92205L9.09312 12.8396C8.98982 12.9465 8.8693 13 8.73156 13C8.59383 13 8.47331 12.9465 8.37 12.8396L6.14899 10.5412C6.04569 10.4343 5.99611 10.3073 6.00024 10.1601C6.00437 10.0129 6.05826 9.88606 6.16191 9.77951C6.26521 9.67261 6.38797 9.61915 6.53018 9.61915C6.67239 9.61915 6.79498 9.67261 6.89794 9.77951L8.73156 11.6904Z" fill="white"/></svg>');
}

.gift-card-recipient{
  padding-bottom: 24px;
}

.gift-card-recipient__fields label{
  color: var(--dark-color);
}

.gift_card_product .media{
  padding-top: 60% !important;
}


/* product-recommendations block */


.product-info__block product-recommendations {
  padding-top: 0;
  margin-top: 24px;
}

.product-info__block product-recommendations h2{
  font-size: 18px;
  font-weight: 700;
  line-height: 130% !important;
  color: var(--dark-color);
}

.product-info__block product-recommendations  .slide-nav--inline .slider-nav__btn:disabled{
  opacity: 0.3;
}

.product-info__block product-recommendations  .slider .slider__grid{
  width: 100%;
}

.product-info__block product-recommendations  .slider .slider__grid .slider__item .card{
  background-color: var(--gray-color);
  border-radius: 10px;
  padding: 18px 0 18px 12px;
}

.product-info__block product-recommendations  .slider .slider__grid .slider__item .card .card__info{
  padding-inline-start: 28px;
}

.product-info__block product-recommendations  .slider .slider__grid .slider__item .card .card__info p{
  font-size: 16px;
  font-weight: 600; 
  line-height: 130% !important;
  color: var(--dark-color);
  margin-top: 0;
}


.product-info__block product-recommendations  .slider .slider__grid .slider__item .card .card__info .price .price__current{
  color: var(--dark-color);
  font-size: 16px;
  font-weight: 400;
  margin-right: 8px;

}

.product-info__block product-recommendations .slider .slider__grid .slider__item .card .card__info .price.price--on-sale .price__current{
  color: var(--discount-color);
  font-weight: 600;
}

.product-info__block product-recommendations .slider .slider__grid .slider__item .card .card__info .price__was{
  color: var(--dark-gray-color);
  font-size: 14px;
  font-weight: 400;
}

.product-info__block product-recommendations .slider .slider__grid .slider__item .card .card__info .price{
  margin-bottom: 6px;
}

.product-info__block product-recommendations  .slider .slider__grid .slider__item .card .card__media{
  border-radius: 10px;
}


.product-info__block product-recommendations .slider .slider__grid .slider__item .card .card__info .additional-btn {
  border: 1px solid var(--dark-color);
  font-weight: 600;
  font-size: 16px;
  line-height: 150%;
  padding: 5px 34px;
}

.product-info__block product-recommendations .slider:not(.slider--contained) .slider__item:last-child{
  width: 100% !important;
  border-inline-end: none; 
}

@media screen and (min-width: 1024px){
  .product-info__block product-recommendations .slider .slider__grid .slider__item .card .card__info:hover .additional-btn{
    background-color: #000;
    border-color: #000;
    color: var(--white-color);
  }
}
@media screen and (max-width: 768px) {
  .product-breadcrumbs {
    display: none !important;
  }
}
.product-info__add-to-cart {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
/* DESKTOP (default) */
.product-trust-badges {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}

.trust-item img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}


/* MOBILE */
@media (max-width: 768px) {
  .product-trust-badges {
    display: flex;
    justify-content: space-between;
    gap: 6px; /* smaller gap so all 3 fit */
  }

  .trust-item {
    flex: 1; /* 👈 evenly distributes space */
    min-width: 0; /* 👈 prevents overflow pushing items down */
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: 12px;
  }

  .trust-item img {
    width: 32px;
    height: 32px;
    margin-bottom: 4px;
  }

  .trust-item span {
    line-height: 1.2;
    word-break: break-word; /* 👈 prevents overflow */
  }
}
@media screen and (min-width: 769px){

  /* Move description ABOVE add to cart on desktop */
  .product-description{
    order: 1;
  }

  .product-info__add-button,
  .product-info__add-to-cart{
    order: 2;
  }

}
.product-info{
  display: flex;
  flex-direction: column;
}
.product-trust-badges .trust-item:nth-child(3) img {
  width: 47px; /* adjust as needed */
  height: auto;
}
.product-trust-badges .trust-item:nth-child(2) img {
  transform: translateY(-2px); /* adjust value as needed */
}
.product-trust-badges .trust-item:nth-child(1) img {
  width: 26px; /* adjust as needed */
  height: auto;
}
.product-trust-badges .trust-item:nth-child(1) img {
  transform: translateY(-1px); /* adjust value as needed */
}
.product-trust-badges .trust-item:nth-child(2) img {
  width: 25px; /* adjust as needed */
  height: auto;
}
.product-trust-badges .trust-item:nth-child(3) img {
  transform: translateY(-1px); /* adjust value as needed */
}
p.osm-message {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  text-align: left !important;
  gap: 6px; /* spacing between text, logo, button */
}
div[data-testid="top-strip-promotion-auto-size"] {
  background-color: #ffffff !important;
}
p.osm-message {
  margin: 0 !important;
  padding: 0 !important;
}
klarna-placement::part(osm-container) {
  justify-content: flex-start !important;
  text-align: left !important;
}

klarna-placement::part(osm-message) {
  text-align: left !important;
}
klarna-placement::part(osm-container) {
  margin: 0 !important;
  padding-left: 0 !important;
}
klarna-placement::part(osm-container) {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}
klarna-placement::part(osm-message) {
  font-size: 13px !important; /* desktop match */
  line-height: 1.2 !important;
}
@media (max-width: 768px) {
  .product-info__block.product-description {
    margin-bottom: 8px !important; /* or 0 */
  }
}
.product-title {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
}
.product-title-row {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 22px;
}

.product-title {
  margin: 0;
}

.product-brand-logo {
  margin-left: auto;
  flex-shrink: 0;
}

.product-brand-logo img {
  display: block;
  max-height: 40px;    /* maximum height */
  max-width: 80px;   /* maximum width */
  width: auto;
}
.product-info__title {
  width: 100%;
}

.product-title-row {
  display: flex;
  align-items: center;
  width: 100%;
}

.product-brand-logo {
  margin-left: auto;
  flex-shrink: 0;
}

.product-brand-logo img {
  max-height: 30px;
  width: auto;
  display: block;
}

.product-title {
  margin: 0;
}
@media screen and (min-width: 1024px) {

  .product {
    display: flex;
    align-items: flex-start;
  }

  #product-media {
    position: sticky;
    top: 120px;
  }

  .product-info {
    position: relative;
  }

}
/* Mobile product page: image-first layout with transparent header */
@media screen and (max-width: 768px) {
  body:has(.product-main) .header {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 30;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  body:has(.product-main) .header .line {
  display: none !important;
}

  body:has(.product-main) .header__search {
    display: none !important;
  }

  body:has(.product-main) main,
  body:has(.product-main) #MainContent {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body:has(.product-main) .product-main,
  body:has(.product-main) .product-media,
  body:has(.product-main) .media-gallery__viewer {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}
@media screen and (max-width: 768px) {
  body:has(.product-main) .product-media,
  body:has(.product-main) .media-gallery,
  body:has(.product-main) .media-gallery__viewer,
  body:has(.product-main) .media-gallery__viewer ul,
  body:has(.product-main) .media-gallery__viewer li,
  body:has(.product-main) .media-viewer,
  body:has(.product-main) .media-viewer__item {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:has(.product-main) .product-media .media {
    border-radius: 0 !important;
  }

  body:has(.product-main) .product-media img,
body:has(.product-main) .media-gallery__viewer img,
body:has(.product-main) .media-viewer__item img {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}
}
/* Mobile product page: force product image to top */
@media screen and (max-width: 768px) {
  body:has(.product-main) #MainContent,
  body:has(.product-main) main,
  body:has(.product-main) .shopify-section,
  body:has(.product-main) .section,
  body:has(.product-main) .container,
  body:has(.product-main) .product-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body:has(.product-main) .product-main {
    transform: translateY(0) !important;
  }

  body:has(.product-main) .product-media,
  body:has(.product-main) .media-gallery,
  body:has(.product-main) .media-gallery__viewer,
  body:has(.product-main) .media-viewer,
  body:has(.product-main) .media-viewer__item {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body:has(.product-main) .product-media {
    position: relative;
    top: 0;
  }
}
/* Mobile product page: pull gallery under transparent header */
@media screen and (max-width: 768px) {
  body:has(.product-main) .product-main {
    margin-top: calc(-1 * var(--header-height, 64px)) !important;
    padding-top: 0 !important;
  }

  body:has(.product-main) #product-media,
  body:has(.product-main) .product-media,
  body:has(.product-main) .media-gallery,
  body:has(.product-main) .media-gallery__viewer {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

body:has(.product-main) .product-media img,
body:has(.product-main) .media-gallery__viewer img,
body:has(.product-main) .media-viewer__item img {
  height: 100% !important;
  object-fit: cover !important;
}

@media screen and (max-width: 768px) {
  body:has(.product-main) .product-media .media {
    padding-top: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
  }
}
.product-media .media,
.product-media .media-gallery__main .media {
  aspect-ratio: 3 / 4;
}
@media screen and (max-width: 768px) {
  .MagicToolboxContainer,
  .MagicToolboxContainer.magic-square-images,
  .MagicToolboxSlides,
  .MagicToolboxSlide,
  .MagicZoomPlus,
  .mz-figure {
    width: 100vw !important;
    height: 133.333vw !important;
    max-height: none !important;
    aspect-ratio: 3 / 4 !important;
    overflow: hidden !important;
  }

  .MagicToolboxContainer .mz-figure > img,
  .MagicToolboxContainer .MagicZoomPlus img,
  .MagicToolboxContainer img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .MagicToolboxContainer .mz-lens,
  .MagicToolboxContainer .mz-lens img {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .MagicToolboxContainer {
    opacity: 0;
  }

  .MagicToolboxContainer.magic-ready,
  .MagicToolboxContainer.mz-ready,
  .MagicToolboxContainer:has(.mz-ready) {
    opacity: 1;
  }
}
/* Pair it with / complementary products price */
.product-recommendations .price,
.product-recommendations .price__current,
.product-recommendations .price__sale,
.product-recommendations .price-item--sale,
.product-recommendations .sale-price,
.recommendations .price,
.recommendations .price__current,
.recommendations .price__sale,
.recommendations .price-item--sale,
.recommendations .sale-price,
.card .price,
.card .price__current,
.card .price__sale,
.card .price-item--sale,
.card .sale-price {
  color: #090302 !important;
}
@media (max-width: 768px) {
  .product .product-info {
    margin-top: 5px !important;
  }
}
/* Correct mobile layering:
   announcement bar > transparent header > product image
*/
/* Correct mobile + large phone layering:
   announcement bar > transparent header > product image
*/
/* Product page: remove gap above image on large phones/tablets */
@media screen and (max-width: 1023px) {
  body:has(.product-main) .product-main,
  body:has(.product-main) #product-media,
  body:has(.product-main) .product-media,
  body:has(.product-main) .media-gallery,
  body:has(.product-main) .media-gallery__viewer,
  body:has(.product-main) .media-gallery__viewer ul,
  body:has(.product-main) .media-gallery__viewer li,
  body:has(.product-main) .media-viewer,
  body:has(.product-main) .media-viewer__item {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body:has(.product-main) .product-media,
  body:has(.product-main) .media-gallery,
  body:has(.product-main) .media-gallery__viewer,
  body:has(.product-main) .media-gallery__viewer ul,
  body:has(.product-main) .media-gallery__viewer li,
  body:has(.product-main) .media-viewer,
  body:has(.product-main) .media-viewer__item {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:has(.product-main) .product-media .media {
    padding-top: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  body:has(.product-main) .product-media img,
  body:has(.product-main) .media-gallery__viewer img,
  body:has(.product-main) .media-viewer__item img {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}
.product-info__block product-recommendations .card .price__current {
  font-size: 1.65rem !important;
  line-height: 1.2 !important;
}