h1 { --fs: clamp(2.4rem, 5vw, 3.2rem); }
h2 { --fs: clamp(2rem, 4vw, 2.4rem); }

body.single-product main { position: relative; }
body.single-product .wpb-icon.wpb-icon--favicon { position: absolute; top: 10%; left: -8%; z-index: -1; opacity: .5; }

.wpb-product-breadcrumb { padding: 1.6rem 0; }

.wpb-product-header { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3.2rem; background-color: #fff; padding: 1.8rem; border-radius: .8rem; } 
.wpb-product-header .wpb-product-header__gallery { position: relative; }
.wpb-product-header .wpb-product-header__gallery .btn-group { pointer-events: none;  position: absolute; top: 0; right: 0; z-index: 1; }
.wpb-product-header .wpb-product-header__gallery .btn-group .btn { aspect-ratio: 1/1; }
.wpb-product-header .wpb-product-header__gallery .btn-group .btn.toggle-bookmark { pointer-events: all; }
.wpb-product-header .wpb-product-header__gallery .btn-group .btn.toggle-bookmark[data-bookmarked="true"] { --clr: var(--clr-dark); --bg-clr: var(--clr-secondary-120); }
.wpb-product-header .wpb-product-header__gallery .btn-group .btn.toggle-bookmark[data-bookmarked="true"] i { color: var(--clr-dark); }

.wpb-product-header .wpb-product-header__summary { container-type: inline-size; container-name: summary; }
.wpb-product-header .wpb-product-header__summary .prd-info { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; margin-bottom: 2rem; }
.wpb-product-header .wpb-product-header__summary h1 { margin-bottom: 1.6rem; }
.wpb-product-header .wpb-product-header__summary .woocommerce-product-details__short-description { color: rgba(var(--clr-dark-rgb), .6); margin-bottom: 1.6rem; }
.wpb-product-header .wpb-product-header__summary .woocommerce-product-details__short-description > * + * { margin-top: 1em; }
.wpb-product-header .wpb-product-header__summary .woocommerce-product-details__short-description ul { padding-left: 2rem; }
.wpb-product-header .wpb-product-header__summary .prd-price { display: flex; flex-direction: column; margin-right: 1rem; }
.wpb-product-header .wpb-product-header__summary .prd-price small { color: rgba(var(--clr-dark-rgb), .6); }

.wpb-product-header .wpb-product-header__summary .prd-specifications { margin-bottom: 3.2rem; }
.wpb-product-header .wpb-product-header__summary .prd-specifications .prd-spec { display: flex; align-items: center; column-gap: 1.6rem; }
.wpb-product-header .wpb-product-header__summary .prd-specifications .prd-spec .prd-spec__icon { display: inline-grid; place-items: center; font-size: 1.6rem; width: 3.7rem; height: 3.7rem; border-radius: .5rem; background-color: var(--clr-secondary-120); }
.wpb-product-header .wpb-product-header__summary .prd-specifications .prd-spec .prd-spec__value { font-weight: 700; }

.wpb-product-header .wpb-product-header__summary .prd-help { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.1rem; margin-top: 3.2rem; }
.wpb-product-header .wpb-product-header__summary .prd-delivery { font-size: 1.6rem; border: 1px solid var(--clr-secondary-120); border-radius: .5rem; padding: 1.6rem; display: flex; align-items: center; gap: 1.6rem; }
.wpb-product-header .wpb-product-header__summary .prd-delivery .prd-delivery__icon { font-size: 1.6rem; min-width: 4.8rem; width: 4.8rem; height: 4.8rem; border-radius: .5rem; background-color: var(--clr-secondary); display: inline-grid; place-items: center; }
.wpb-product-header .wpb-product-header__summary .prd-delivery .prd-delivery__text { display: flex; flex-direction: column; }
.wpb-product-header .wpb-product-header__summary .prd-delivery .prd-delivery__text * { line-height: 1.2; }

.wpb-product-header .wpb-product-header__summary .prd-cta { cursor: pointer; display: flex; align-items: center; column-gap: 1.6rem; background-color: var(--clr-secondary); border-radius: .5rem; padding: 1.6rem; transition: background var(--ts-25) ease; }
.wpb-product-header .wpb-product-header__summary .prd-cta .prd-cta__image { width: 5.1rem; height: 5.1rem; border-radius: 50%; background-color: var(--clr-secondary-120); }
.wpb-product-header .wpb-product-header__summary .prd-cta .prd-cta__image img { width: 100%; height: 100%; object-fit: contain; border-radius: 50%; }
.wpb-product-header .wpb-product-header__summary .prd-cta .prd-cta__text { font-size: 1.6rem; display: flex; flex-direction: column; }
.wpb-product-header .wpb-product-header__summary .prd-cta .prd-cta__text * { line-height: 1.2; transition: color var(--ts-25) ease; }
.wpb-product-header .wpb-product-header__summary .prd-cta .prd-cta__text span { font-weight: 700; display: flex; align-items: center; column-gap: .8rem; color: var(--clr-info); }
.wpb-product-header .wpb-product-header__summary .prd-cta:hover{ background-color: var(--clr-info); }
.wpb-product-header .wpb-product-header__summary .prd-cta:hover .prd-cta__text *{ color: #fff; }

.wpb-product-content { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.8rem 2.4rem; }
.wpb-product-content .prd-description { background-color: #fff; padding: 2rem; border-radius: .8rem; }
.wpb-product-content .prd-description .wpb-text { color: rgba(var(--clr-dark-rgb), .60); }
.wpb-product-content .prd-description > * + * { margin-top: 3.2rem; }
.wpb-product-content .prd-specifications table td { padding: 1rem 0; }
.wpb-product-content .snippet-cta { padding: 2rem; border-radius: .8rem; background-color: var(--clr-secondary-120); }
.wpb-product-content .prd-content { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.8rem; }
.wpb-product-content .wpb-product-related { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.8rem; }
.wpb-product-content .wpb-product-related:not(:has(.wpb-product)) { display: none; }
.wpb-product-content .wpb-product-related li.wpb-product .product__header { height: 15rem; }

.wpb-block--products h2 { font-size: clamp(2.4rem, 3vw, 4.5rem); }

.woocommerce-product-gallery { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 1rem; row-gap: 1rem; }
.woocommerce-product-gallery img { max-height: 65rem; object-fit: contain; border-radius: .8rem; }
.woocommerce-product-gallery:has(.flex-viewport) { grid-template-columns: minmax(0, 1fr) minmax(0, 8fr); }
.woocommerce-product-gallery .flex-viewport { order: 1; grid-column: 2; }
.woocommerce-product-gallery__wrapper > div { position: relative; }
.woocommerce-product-gallery__wrapper > div::before { content: ''; display: block; padding-top: 100%; }
.woocommerce-product-gallery__wrapper > div > a { display: flex; align-items: center; position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; }
.woocommerce-product-gallery__wrapper > div > a img { width: 100%; height: 100%; object-fit: contain;  }
.woocommerce-product-gallery .woocommerce-product-gallery__image--placeholder { border: 1px solid #f2f2f2; }
.woocommerce-product-gallery .woocommerce-product-gallery__trigger { position: absolute; top: .5em; right: .5em; font-size: 2em; z-index: 9; width: 36px; height: 36px; background: #fff; text-indent: -9999px; border-radius: 100%; box-sizing: content-box; }
.woocommerce-product-gallery .woocommerce-product-gallery__trigger::before { content: ""; display: block; width: 10px; height: 10px; border: 2px solid #000; border-radius: 100%; position: absolute; top: 9px; left: 9px; box-sizing: content-box; }
.woocommerce-product-gallery .woocommerce-product-gallery__trigger::after { content: ""; display: block; width: 2px; height: 8px; background: #000; border-radius: 6px; position: absolute; top: 19px; left: 22px; transform: rotate(-45deg);box-sizing:content-box; }

.woocommerce-product-gallery .flex-control-nav { position: absolute; top: 0; bottom: 0; right: 0; left: 0; grid-column: 1 / 1; overflow-y: auto; display: flex; flex-direction: column; column-gap: 1rem; row-gap: 1rem; list-style: none; }
.woocommerce-product-gallery .flex-control-nav li { position: relative; cursor: pointer; }
.woocommerce-product-gallery .flex-control-nav li::before { content: ''; display: block; padding-top: 100%; }
.woocommerce-product-gallery .flex-control-nav img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; outline: 1px solid transparent; outline-offset: -1px; border-radius: .5rem; transition: outline var(--ts-15) ease; }
.woocommerce-product-gallery .flex-control-nav img.flex-active { outline: 1px solid var(--clr-secondary-120); }   

form.cart:not(.variations_form, .grouped_form),
form.cart .woocommerce-variation-add-to-cart { display: grid; align-items: center; grid-template-columns: auto 1fr; gap: 1.2rem; }
form.cart:not(.variations_form, .grouped_form) .single_add_to_cart_button,
form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button { grid-column: span 2; margin-right: auto; }

.variations { opacity: 0; }
.variations tbody { display: grid; gap: 1.6rem; }
.variations tr { display: grid; }
.variations td, 
.variations th { padding: 0; line-height: 1.15; text-align: left; padding: 0; border: 0; }
.variations label { font-weight: 400; }
.variations select { width: 100%; max-width: 27rem; border-color: var(--clr-border); appearance: none; background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDEyIDEyIiBmaWxsPSJub25lIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgc3Ryb2tlPSIjMjQyQTJFIj48cGF0aCBkPSJNMS41MDAwMiA0TDYuMDAwMDIgOEwxMC41IDQiIHN0cm9rZS13aWR0aD0iMS41Ij48L3BhdGg+PC9zdmc+); background-repeat: no-repeat; background-position: calc(100% - 1.6rem) 50%; cursor: pointer; }
.variations .reset_variations { display: block; }

.variation-radios { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.variation-radios label { cursor: pointer; display: block; width: 4rem; height: 4rem; border-radius: 50%; text-indent: -9999rem; background-color: var(--clr-primary); transition: box-shadow var(--ts-15) ease; }
.variation-radios [type="radio"] { position: absolute; left: -9999rem; opacity: 0; }
.variation-radios [type="radio"]:checked + label { --checked-border-color: var(--clr-primary); --checked-border-bg-color: #fff; box-shadow: inset 0 0 0 .2rem var(--checked-border-color), inset 0 0 0 .6rem var(--checked-border-bg-color); }

@container summary (max-width: 449.98px) {
    form.cart:not(.variations_form, .grouped_form) .single_add_to_cart_button, form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button { width: 100%; }
}

@container summary (min-width: 450px) {
    form.cart:not(.variations_form, .grouped_form),
    form.cart .woocommerce-variation-add-to-cart { grid-template-columns: auto auto 1fr; }
    form.cart:not(.variations_form, .grouped_form) .single_add_to_cart_button,
    form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button { grid-column: span 1; }

    .wpb-product-header .wpb-product-header__summary .prd-help { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
    body.single-product .wpb-icon.wpb-icon--favicon { display: none; }
}

@media (min-width: 768px) {
    .wpb-product-header { padding: 2.4rem; }

}

@media (min-width: 992px) {
    .wpb-product-header { display: grid; grid-template-columns: minmax(0, 9fr) minmax(0, 10fr); }

    .wpb-product-header .wpb-product-header__summary { padding: 2rem; }

    .wpb-product-content { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
    .wpb-product-content .snippet-cta .snippet-cta__text { text-align: left; }
    .wpb-product-content .snippet-cta .snippet-cta__image { order: -1; }

    .wpb-product-content .prd-description { padding: 3.2rem; }
}

@media (min-width: 1200px) {
    .wpb-product-content { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }

    .wpb-product-header .wpb-product-header__summary .prd-help { margin-top: 5.4rem; }

    body.single-product .wpb-icon.wpb-icon--favicon { --w: 70rem; }
}



/* Image gallery popup
-------------------------------------- */
.pswp .pswp__bg { background: rgba(0,0,0,.75); }

.modal.modal--add-to-cart .modal-dialog { max-height: 70rem; }
.modal.modal--add-to-cart .modal-dialog .modal-dialog__header { display: grid; grid-template-columns: 3.2rem 1fr; gap: 1rem; }
.modal.modal--add-to-cart .modal-dialog .modal-dialog__header .modal-title span { font-size: 1.6rem; line-height: 1.1; font-weight: 600; display: block; }
.modal.modal--add-to-cart .modal-dialog .modal-dialog__header .modal-title small { font-size: 1.4rem; }
.modal.modal--add-to-cart .modal-dialog .modal-dialog__header .modal-title small span { all: inherit; }
.modal.modal--add-to-cart .modal-dialog .modal-dialog__header .modal-buttons { grid-column: span 2; display: flex; gap: 1.6rem; }
.modal.modal--add-to-cart .modal-dialog .modal-dialog__header .btn.btn--link { --clr: var(--clr-info); }
.modal.modal--add-to-cart .modal-dialog .modal-dialog__header .btn { width: 100%; white-space: nowrap; justify-content: center; }
.modal.modal--add-to-cart .modal-dialog .modal-dialog__body { background-color: var(--clr-secondary); }
.modal.modal--add-to-cart figure { width: 3.2rem; height: 3.2rem; border-radius: .8rem; position: relative; background-color: #fff; overflow: clip; border: 1px solid var(--clr-secondary-120); }
.modal.modal--add-to-cart figure img { width: 100%; height: 100%; object-fit: contain; }

.modal.modal--add-to-cart .modal-dialog .modal-dialog__body { padding: 0; }

.modal.modal--add-to-cart .woocommerce-cross-sells .woocommerce-cross-sells__body { --gc: 1; display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: 1.6rem; padding: 2rem; }
.modal.modal--add-to-cart .woocommerce-cross-sells .product__footer { grid-template-columns: 1fr; }

@media (max-width: 575.98px) {
    .modal.modal--add-to-cart .modal-dialog .modal-dialog__header .modal-buttons { flex-direction: column; }
}

@media (min-width: 576px) {
    .modal.modal--add-to-cart .modal-dialog { max-width: 540px; }
    .modal.modal--add-to-cart .modal-dialog .modal-dialog__header { grid-template-columns: 6.4rem 1fr; gap: 1.6rem; }
    .modal.modal--add-to-cart figure { width: 6.4rem; height: 6.4rem; }
    .modal.modal--add-to-cart .modal-dialog .modal-dialog__header .btn { width: auto; margin-top: 0; } 
}

@media (min-width: 768px) {
    .modal.modal--add-to-cart .modal-dialog { max-width: 720px; }
    .modal.modal--add-to-cart .woocommerce-cross-sells .woocommerce-cross-sells__body { --gc: 2; } 
}

@media (min-width: 992px) { 
    .modal.modal--add-to-cart .modal-dialog { max-width: 970px }
    .modal.modal--add-to-cart .modal-dialog .modal-dialog__header { grid-template-columns: 6.4rem 1fr auto; }
    .modal.modal--add-to-cart .modal-dialog .modal-dialog__header .modal-buttons { grid-column: span 1; }
    .modal.modal--add-to-cart .modal-dialog .modal-dialog__header .modal-buttons .btn { --fs: 1.6rem; min-height: 5.3rem; }
    .modal.modal--add-to-cart .woocommerce-cross-sells .woocommerce-cross-sells__body { --gc: 4; } 
}

.keep-informed { display: flex; justify-content: space-between; column-gap: 2rem; background-color: var(--clr-secondary-90); padding: 1rem 2rem; border-radius: .8rem; margin-bottom: 2rem;}