  .layout-product {
    margin: 0 auto;
    display: grid;
    gap: 1rem;

    /* desktop widths */
    grid-template-columns: 1.68fr 1fr;
    grid-template-areas:
      "gallery addtocart"
      "data data";
  }



  .block-4    { grid-area: gallery; position: relative; }
  .block-5   { grid-area: addtocart; }
  .block-6 { grid-area: data; }

.price-and-badge {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.price-and-badge .badge {
  width: 90px;
}
.product-prices {
    display: flex;
    gap: .5rem;
    flex-direction: column;
}
.old-price.h4 {
  font-family: var(--font-family-base);
  font-weight: 700;
}

.d-flex-price-info {
    display: flex;
    gap: .5rem;
    align-items: flex-end;
    flex-wrap: wrap;
    margin: 2rem 0;
}

.page-header-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.page-header-product {
    display: flex;
    align-items: center;
    gap: 1rem;
    justify-content: space-between;
}
@media(min-width: 1024px) {
  .product-description {
    background-color: var(--neutral-100);
    padding: 3rem .938rem !important;
    position: relative;
    margin-left: -.938rem !important;
    margin-right: -.938rem !important;
    justify-content: space-between;
    .beneficios, .sabias, .eficacia, .composicion, .uso {
      margin-top: 0;
    }
  }
  .product-description::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100%;
        background-color: var(--neutral-dark);
        z-index: -1; 
  }
  .product-description::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 100vw;
        height: 100%;
        background-color: var(--neutral-dark);
        z-index: -1; 
  }
 
}
@media(min-width: 1760px) {

}
@media (max-width: 1023px) {
    .product-name {
      margin-top: 0;
    }
    .d-flex-price-info {
      margin: 0;
    }
    .extra-prices span {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 0.25rem;
    }
    .tax-shipping-delivery-label {
      display: none;
    }
    .page-header-product {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      justify-content: center;
      flex-wrap: wrap;
      text-align: center;
  }
  .page-header-container, .product-short-description {
    text-align: center;
  }

    .layout-product {
      display: flex;
      gap: 1rem;
      flex-direction: column;
    }
    .block-1, .block-2 {
      text-align: center;
    }
    .block.block-1 {
      display: flex;
      gap: .5rem;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
    }
    .product-quantity {
      position: fixed;
      bottom: 0;
      background-color: var(--white);
      left: 0;
      width: 100vw; 
      z-index: 3; 
      padding: .938rem;
      padding-top: 0;
    }
    .price-box {
      position: fixed;
      bottom: 60px;
      background-color: var(--white);
      width: 100vw; 
      box-shadow: 0 -4px 8px 0 rgba(0, 0, 0, 0.06);
      border-radius: 24px 24px 0 0;
      left: 0;
      padding: .938rem;
      z-index: 2; 
      display: flex;
      flex-direction: row-reverse;
      gap: 8px;
      align-items: center;
    }
    #ployalty {
       margin-top: 1rem;
    }
    body#product {
      padding-bottom: 200px;
    }
    .produc-details {
      display: flex;
      flex-direction: column;
    }
    .produc-details .col-left, .produc-details .col-right {
      width: 100%;
      padding: 0; 
    }
    .transform-mobile {
      margin: 0;
      padding:0;
    }

    .transform-mobile .mobile-panel {
      display: none;
    }
    .transform-mobile .js-show-mobile-click, .link-arrow-mobile  {
      font-size: 18px !important;
      font-family: var(--font-family-base) !important;
      font-weight: 700 !important;
      cursor: pointer;
      border-bottom: 1px solid var(--border-color);
      margin: 0;
      padding: 2rem 0;
      position: relative;
      padding-right: 30px;
    }
    .transform-mobile .js-show-mobile-click::after, .link-arrow-mobile::after {
      font-size: 24px;
      line-height: 30px;
      width: 30px;
      height: 30px;
      content: '\f59a';
      font-family: 'Icon';
      position: absolute;
      right: 0;
      top: 1.5rem;
      font-weight: 400;
    }
    .js-show-mobile-click span, .link-arrow-mobile span {
      display: block;
      white-space: nowrap;
      max-width: calc(100% - 40px);
      text-overflow: ellipsis;
        overflow: hidden;
    }
    div#product_author.transform-mobile {
      margin: 0;
    }
    body#product .transform-mobile div {
      margin: 0;
      padding: 0;
      gap: 0;
    }

    .product-prices .price-and-badge, .product-prices .extra-prices span {
      display: flex;
      flex-direction: row;
      gap: 0.25rem;
      align-items: center;
    }
    .d-flex-price-info {
      gap: 1rem;
      flex-direction: row-reverse;
      padding-bottom: .5rem;
    }
    .block.block-5 {
      margin-top: -1rem;
    }
}
.flags {
    position: absolute;
    padding: .938rem;
    z-index: 2; 
}
.block-4 img, .product-swiper-main, .product-swiper-main img {
        mix-blend-mode: darken;
}

@media(min-width: 1024px) {
  
  span.extra-prices {
    display: flex;
    justify-content: flex-end;
  }
  .block-3 .price-box {
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
  
  .block-4 .images-container {
    position: relative;
    margin: auto;

    background-color: var(--neutral-dark);
  }
  .block-4 .images-container::before {
    content: '';
    position: absolute;
    top: 0;
    right: 100%;
    width: 100vw;
    height: 100%;
    background-color: var(--neutral-dark);
  }
  .block-5 {
    padding: 1.5rem;
  }
  .block.block-1 {
    display: flex;
    gap: 1rem;
    align-items: center;
  }
  .product-cover {
    padding: 1.5rem 0;
  }
  .product-cover .swiper-slide {
   width: 100%; 
  }
  .swiper-thumbs .swiper-slide img {
    border: 1px solid transparent;
  }
  .swiper-thumbs .swiper-slide.swiper-slide-thumb-active img {
    border: 1px solid var(--brand);
  }
  .swiper-thumbs .swiper-button-next, .swiper-thumbs .swiper-button-prev {
    display: none !important;
  }

}
.product-cover {
  text-align: center;
  position: relative;
      width: 100%;
    max-width: 760px; 
        margin: auto;
}
.product-short-description p:last-child, .product-short-description > :last-child {
  margin-bottom: 0;
}
.product-short-description h3 {
  display: none;
}
.product-quantity {
    display: flex;
    gap: 1rem;
    min-height: 59px;
    
}
.product-quantity .qty {
  width: 130px; 
}
.product-quantity .add {
  width: calc(100% - 140px); 
}
.image-container {
  position: relative;
  overflow: hidden;
  mix-blend-mode: darken
}

img.brand {
  position: absolute;
  left: 0;
  top: 0;
  width: 14vw;
  mix-blend-mode: darken;
  object-fit: contain;
  aspect-ratio: 1 / 1;
  max-width: 100px
}

.reveal-image {
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  mix-blend-mode: darken;
  max-width: 800px
}

.product-information .product-info-list {
  font-weight: 400;
  font-size: var(--font-size-medium);
  list-style: none;
  padding: 0;
  margin: 0
}

.product-information .product-info-list li {
  border-bottom: 1px solid var(--neutral);
  padding: .5rem 0;
  display: flex;
  gap: .5rem
}

.product-information .product-info-list li .info-label {
  flex: 0 0 33%
}

.product-information .product-info-list li:last-child {
  border-bottom: none
}

.product-information .product-info-list a {
  text-decoration: underline;
  text-underline-offset: 3px
}

.product-information .product-info-list .extra-info-link {
  background-color: var(--neutral);
  border-bottom: none;
  padding-left: 1rem;
  padding-right: 1rem;
  border-radius: var(--border-radius-sm);
  cursor: pointer
}

.product-information .product-info-list .extra-info-link::after {
  content: "\f54e";
  display: inline-block;
  font: normal normal normal 24px / 1 'Quintalegre';
  speak: none;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  position: absolute;
  right: 1rem;
  margin-top: -.15rem
}

@keyframes arrowFadeLeft {
  0%, 100% {
    opacity: 1
  }

  50% {
    opacity: .2
  }
}

@keyframes arrowFadeRight {
  0% {
    opacity: .2
  }

  50% {
    opacity: 1
  }

  100% {
    opacity: .2
  }
}


@media (max-width:1024px) {
  .sticky-col {
    display: none
  }

}

.type-radios, .type-radios div {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: flex-start
}

.type-radios div {
  flex-direction: row;
  align-items: center
}

.type-radios .input-radio {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0
}

.type-radios .control-label {
  width: 100%;
}

.type-radios label {
  display: inline-block;
  cursor: pointer;
  margin: 0
}

.type-radios label.no-stock {
  position: relative;
  color: #c4c4c4
}

.type-radios label.no-stock::after {
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  right: 0;
  border-top: 2px solid;
  border-color: inherit;
  transform: rotate(-45deg);
  color: #dbdbdb;
  z-index: -1;
  overflow: hidden;
  width: 58px;
  margin: auto
}

.type-radios .text-radio {
  display: inline-block;
  padding: 10px 20px;
  border: 2px solid #e5e7eb;
  border-radius: var(--border-radius-sm);
  transition: all .2s ease;
  font-size: var(--font-size-medium);
  white-space: nowrap;
  font-weight: var(--font-weight-bold)
}
.type-radios label {
  position: relative;
}
.type-radios label:hover .text-radio {
  border-color: var(--neutral)
}

.type-radios input[type="radio"]:checked+.text-radio {
  background-color: var(--success-bg);
  border-color: var(--success-solid);
}
.type-radios input[type="radio"]:checked+.text-radio::before {
    content: '\f5a8';
    font-family: 'Icon';
    position: absolute;
    top: 0;
    right: 0;
    margin-top: -10px;
    margin-right: -6px;
    background-color: var(--success-bg);
    border: 2px solid var(--success-solid);
    aspect-ratio: 1 / 1;
    width: 24px;
    height: 24px;
    text-align: center;
    line-height: 24px;
    color: var(--success-solid);
    font-weight: 700;
    font-size: 12px;
    border-radius: 50%;
}
.type-radios .no-stock input[type="radio"]:checked+.text-radio::before {
  display: none;
}
.type-radios .no-stock input[type="radio"]:checked+.text-radio {
  border-color: var(--danger);
  background-color: #ffc2c8;
  color: var(--danger)
}



.feature-content ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 40px;
  padding: 0;
  margin: 0;
  list-style: none;
  max-width: 900px;
  margin: auto;
  position: relative;
}

.feature-content li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 16px 0;
  border-bottom: 1px solid var(--border-color);
}

/* Icono */
.feature-content li i {
  flex: 0 0 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Texto */
.feature-content li span {
  display: block;
  line-height: 1.4;
}

.feature-content li span b {
  display: block;
  font-weight: 600;
  margin-bottom: 4px;
}

@media(min-width: 769px) {
  .feature-content ul:before {
    content: '';
    width: 1px;
    height: 100%;
    background-color: transparent;
    border-right: 1px solid var(--border-color);
    position: absolute;
    top: 0;
    left: 50%;
  }
  .feature-content ul:after {
    content: '';
    width: 100%;
    height: 4px;
    background-color: #fff;
    border-right: 1px solid var(--border-color);
    position: absolute;
    bottom: 0;
  }
}
@media (max-width: 768px) {
  .feature-content ul {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}


.feature-content ul .icon {
  font-size: 32px;
  width: 62px;
  line-height: 62px;
  height: 62px; 
  border-radius: 50%;
  color: var(--brand);
  background-color: var(--neutral);
  aspect-ratio: 1 / 1;
}

.feature-content ul span {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.feature-content ul span b {
  font-weight: var(--font-weight-bold)
}

.product-name {
  transition: font-size .6s ease-in-out;
  font-size: var(--font-size-xl);
  position: relative
}

ul.extra-info-product {
  list-style: none;
  display: flex;
  padding: 0;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2)
}

ul.extra-info-product a {
  background-color: var(--border-color);
  padding: .2rem 1rem;
  border-radius: 2rem;
  display: inline-block;
  border: 1px solid var(--border-color);
  transition: all ease-in-out 300ms
}

ul.extra-info-product a:hover {
  transform: translateY(-2px);
  background-color: var(--neutral-base);
  border: 1px solid var(--brand)
}

span.product-reference {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: var(--font-size-sm)
}


.product-reviews .stars {
  margin: 0
}

.shipping-info i, .shipping-info .highlight-effect {
  display: none
}

.shipping-info b {
  text-transform: lowercase
}

.shipping-info span {
  display: inline
}

.shipping-info .highlight-text {
  margin: unset;
  display: inline
}

.btn-simulator {
  background: transparent;
  border: none;
  font-weight: var(--font-family-base);
  text-decoration: underline;
  padding: 0;
  display: inline;
  text-underline-offset: 4px
}

#iframemodal .toast-notification {
  display: none !important
}

div#productos-comprados-juntos {
  width: 100%;
  max-width: 800px;
  overflow: hidden
}

div#productos-comprados-juntos img {
  object-fit: cover
}


.loyalty-block.loyalty-block-product {
  display: none !important;
} 
body#product #wrapper {
  margin-bottom: 0
}

.product-description iframe, .mobile-panel iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto; 
}

.product-cover .swiper-slide {
  width: 100%; 
}

/* detalles */
.produc-details {
    margin: 0 auto;
    padding-top: var(--space-2);
    display: flex;
    gap: var(--space-4);
    align-items: flex-start;
   
}

.col-left {
    width: 61.8%;
}

.col-right {
    padding-left: 4%;
    width: 34.2%;
}

.beneficios,
.sabias,
.eficacia,
.composicion,
.uso {
    margin-bottom: var(--space-4);
    margin-top: var(--space-4);
}
.eficacia, .composicion, .uso {
  border-bottom: 1px solid var(--border-color);
  padding-bottom: var(--space-4);
}

.beneficios h3::before {
    content: "\f5ea";
    font: normal normal normal 1em / 1 'Icon';
    float: left;
    margin-right: 0.25em;
}

.eficacia h3::before {
    content: "\f58d";
    font: normal normal normal 1em / 1 'Icon';
    float: left;
    margin-right: 0.25em;
}

.composicion h3::before {
    content: "\f5dd";
    font: normal normal normal 1em / 1 'Icon';
    float: left;
    margin-right: 0.25em;
}

.uso h3::before {
    content: "\f5dc";
    font: normal normal normal 1em / 1 'Icon';
    float: left;
    margin-right: 0.25em;
}

.sabias {
    background-color: var(--brand);
    color: var(--white);
    padding: var(--space-3) var(--space-4) var(--space-4);
}

#product_author {
    width: 100%;
    
}



#wrapper {
  position: relative;

}
.swiper-viewport{
background-color:transparent;
}
@media(max-width: 992px) {
  body div#_desktop__reassurance {
    display: none !important;
  }
}

.block-4 span.whislist-container {
  top: initial;
  margin-top: .938rem;
}
.product-meta-data {
  display: flex;
  gap: 0.5rem;
  justify-content: space-between;
  align-items: flex-start;
}
@media(min-width: 1023px) {
  .product-quantity {
    padding: 1rem;
    border: 1px solid var(--border-color);
  }
}
.product-additional-info {
text-wrap: balance;
}
@media(max-width:1024px) {
  .product-additional-info {
    margin-top: 2rem;
    margin-bottom: 2rem;
    
  }
  .product-variants {
    padding: 1rem;
    border: 1px solid var(--border-color);
  }
}

body#product .blockreassurance_product {
  margin: 2rem 0;
  max-width: 800px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
body#product .blockreassurance_product div {
  display: flex;
  gap: 1rem;
  span.item-product {
        width: 50px;
        height: 50px;
        background-color: var(--neutral-color);
        border-radius: 50%;
        display: flex;
        align-content: center;
        justify-content: center;
        align-items: center;
        margin: 0;
        padding: 0;
        display: block;
        aspect-ratio: 1 / 1;
        overflow: hidden; 
        display: flex;


  }
  .item-text-product {
    max-width: calc(100% - 1rem - 50px);
  }
  .block-title {
    font-weight: 700;
  }
}
body#product .blockreassurance_product .item-product img, body#product .blockreassurance_product .item-product svg {
  width: 36px;
  height: 36px;
  aspect-ratio: 1 / 1; 
}
.product-variants:empty {
  display: none;
}
body#product #_mobile__reassurance .blockreassurance_product {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    gap: 0.5rem;
}

body#product #_mobile__reassurance .blockreassurance_product > div {
    width: 280px;
    flex-shrink: 0;
    display: flex;
    gap: .5rem;
    border-right: 1px solid var(--info);
    padding: 0 .5rem;
    .item-text-product {
      width: 220px;
      max-width: 220px !important;
    }
    span.item-product {
      width: 42px;
      display: block;
      height: 42px; 
      aspect-ratio: 1 / 1;
              display: flex;
      svg {
        width: 24px;
        aspect-ratio: 1 / 1; 
                    object-fit: contain;
        display: block;
      }
    }
}


.card-reviews {
  background-color: var(--neutral-100);
}
/* fixed btn 
.product-quantity.fxp {
    position: fixed;
    bottom: 0;
    z-index: 2;
    left: 0;
    background-color: #fff;
    width: 100vw;
    max-width: 1000px;
    margin-left: calc(50vw - 500px);
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 4rem;
    border-radius: 24px 24px 0 0;
    box-shadow: 0 -4px 8px 0 rgba(0, 0, 0, 0.06);
}

.fxp .d-flex-price-info {
  gap: 1rem;
  flex-direction: row-reverse;
  padding-bottom: .5rem;
}
.fxp .product-prices {
    display: flex;
    gap: .5rem;
    flex-direction: column;
}
.fxp.price-box {
    position: fixed;
    bottom: 3rem;
    background-color: transparent;
    z-index: 3;
    display: block;
    align-items: center;
    left: 0;
    margin-left: calc(50vw - 500px);
    width: 1000px;
    padding-right: 2rem;
}
.fxp .price-and-badge {
    display: flex;
    flex-direction: row-reverse;
    gap: 0.25rem;
    align-items: center;
}
.fxp .price-and-badge .badge {
    width: 80px;
    margin-left: 1rem;
    margin-right: 0;
}

.fxp .tax-shipping-delivery-label.offer, .fxp span.extra-prices {
  display: none !important;
}
  */ 

.trevenque-related-products {
  position: relative;
  background-color: var(--neutral-pink);
  padding-top: var(--space-4);
  padding-bottom: var(--space-4);
  z-index: 1;
}
@media(min-width:1024px) {
  .trevenque-related-products p, .trevenque-related-products h3 {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    text-wrap: balance;
    text-align: center;
  }
}
.trevenque-related-products::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;            
  transform: translateX(-50%);
  background-color: var(--neutral-pink);
  z-index: -1;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 8px);
}
body .swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 15px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 15px));
}