.product-top{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:32px;
    padding-top:20px;
    padding-bottom:48px;
}

.product-gallery,
.product-summary{
    min-width:0;
}

.product-gallery-stage{
    position:relative;
    width:100%;
    overflow:hidden;
    border:1px solid var(--border);
    background:var(--background-soft);
    box-shadow:var(--shadow-small);
}

.product-gallery-main{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    aspect-ratio:1/1;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:inherit;
    box-shadow:none;
    cursor:default;
}

.product-gallery-main:hover{
    border-color:transparent;
    background:transparent;
}

.product-gallery-image{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
}

.product-gallery-thumbs{
    display:grid;
    grid-auto-columns:72px;
    grid-auto-flow:column;
    gap:8px;
    margin-top:10px;
    padding-bottom:3px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:thin;
}

.product-gallery-thumb{
    display:flex;
    align-items:center;
    justify-content:center;
    width:72px;
    height:72px;
    min-height:0;
    margin:0;
    padding:3px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:0;
    background:var(--background);
    opacity:.7;
    box-shadow:none;
    transition:border-color 150ms ease,opacity 150ms ease,box-shadow 150ms ease;
}

.product-gallery-thumb:hover{
    border-color:var(--border-strong);
    background:var(--background);
    opacity:1;
}

.product-gallery-thumb.is-active{
    border-color:var(--brand);
    opacity:1;
    box-shadow:0 0 0 1px var(--brand);
}

.product-gallery-thumb-image{
    width:100%;
    height:100%;
    object-fit:cover;
}

.product-gallery-data{
    display:none;
}

.product-summary{
    min-width:0;
}

.product-gallery-stage{
    position:relative;
    overflow:hidden;
    width:100%;
    aspect-ratio:1/1;
    background:var(--background-soft);
}

.product-gallery-main{
    display:block;
    width:100%;
    height:100%;
    min-height:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:inherit;
    box-shadow:none;
}

.product-gallery-main:hover{
    background:transparent;
    border-color:transparent;
}

.product-gallery-image{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    transition:opacity .18s ease,transform .25s ease;
}

.product-gallery-main:hover .product-gallery-image{
    transform:scale(1.015);
}

.product-gallery-thumbs{
    display:flex;
    gap:8px;
    margin-top:10px;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:2px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
}

.product-gallery-thumbs::-webkit-scrollbar{
    display:none;
}

.product-gallery-thumb{
    flex:0 0 72px;
    width:72px;
    aspect-ratio:1/1;
    min-height:0;
    padding:0;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:0;
    background:var(--background-soft);
    box-shadow:none;
    scroll-snap-align:start;
    transition:border-color .18s ease,opacity .18s ease;
}

.product-gallery-thumb:hover{
    background:var(--background-soft);
    border-color:var(--border-strong);
}

.product-gallery-thumb.is-active{
    border-color:var(--text-heading);
}

.product-gallery-thumb-image{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.product-summary{
    display:flex;
    flex-direction:column;
}

.product-heading{
    margin-bottom:12px;
}

.product-title{
    max-width:720px;
    font-size:28px;
    letter-spacing:-.035em;
}

.product-rating{
    display:inline-flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
    color:var(--text-muted);
    font-size:13px;
}

.product-rating-stars{
    color:var(--warning);
    font-size:15px;
    line-height:1;
    letter-spacing:.06em;
}

.product-rating-text strong{
    color:var(--text);
    font-weight:700;
}

.product-pricing{
    margin-top:2px;
}

.product-price-row{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:7px 10px;
}

.product-price-regular{
    color:var(--text-subtle);
    font-size:16px;
    font-weight:500;
}

.product-price-sale,
.product-price-current{
    color:var(--text-heading);
    font-size:28px;
    font-weight:800;
    letter-spacing:-.03em;
}

.product-saving-badge{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:5px 9px;
    background:var(--success-soft);
    color:var(--success);
    font-size:12px;
    font-weight:700;
}

.omnibus{
    display:block;
    margin-top:7px;
    color:var(--text-subtle);
    font-size:11px;
}

.omnibus .amount{
    color:inherit;
    font-weight:600;
}

.product-short-description{
    margin-top:22px;
    color:var(--text-muted);
}

.product-short-description > :last-child{
    margin-bottom:0;
}

.product-short-description ul{
    padding-left:20px;
}

.product-short-description li + li{
    margin-top:8px;
}

.product-short-description .list-positive{
    display:grid;
    gap:12px;
    padding:0;
    list-style:none;
}

.product-short-description .list-positive li{
    position:relative;
    min-height:22px;
    margin:0;
    padding-left:32px;
}

.product-short-description .list-positive li::before{
    content:"";
    position:absolute;
    top:1px;
    left:0;
    width:21px;
    height:21px;
    background:var(--text-heading);
    -webkit-mask-position:center;
    -webkit-mask-repeat:no-repeat;
    -webkit-mask-size:contain;
    mask-position:center;
    mask-repeat:no-repeat;
    mask-size:contain;
}

.product-short-description .list-positive li:nth-child(1)::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M7 10h4M7 14h3M15 10.5c1.4.9 1.4 2.1 0 3M17.5 8.5c2.7 2 2.7 5 0 7' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M7 10h4M7 14h3M15 10.5c1.4.9 1.4 2.1 0 3M17.5 8.5c2.7 2 2.7 5 0 7' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
}

.product-short-description .list-positive li:nth-child(2)::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='10' width='14' height='10' rx='2' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3M12 14v2.5' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='10' width='14' height='10' rx='2' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3M12 14v2.5' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
}

.product-short-description .list-positive li:nth-child(3)::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 19 6v5c0 4.6-2.7 7.7-7 10-4.3-2.3-7-5.4-7-10V6l7-3Z' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cpath d='m9 12 2 2 4-4' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 19 6v5c0 4.6-2.7 7.7-7 10-4.3-2.3-7-5.4-7-10V6l7-3Z' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cpath d='m9 12 2 2 4-4' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.product-short-description .list-positive li:nth-child(4)::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 4 8 4-8 4-8-4 8-4Z' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cpath d='m4 12 8 4 8-4M4 16l8 4 8-4' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 4 8 4-8 4-8-4 8-4Z' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cpath d='m4 12 8 4 8-4M4 16l8 4 8-4' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.product-short-description .list-positive li:nth-child(5)::before{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3s6 6.4 6 11a6 6 0 0 1-12 0c0-4.6 6-11 6-11Z' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cpath d='M9.5 15.2c.5 1.2 1.4 1.8 2.7 1.9' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3s6 6.4 6 11a6 6 0 0 1-12 0c0-4.6 6-11 6-11Z' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cpath d='M9.5 15.2c.5 1.2 1.4 1.8 2.7 1.9' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
}

.product-purchase{
    display:grid;
    grid-template-columns:94px minmax(0,1fr);
    gap:10px;
    margin-top:24px;
}

.product-quantity{
    min-width:0;
}

.product-quantity-control{
    display:grid;
    grid-template-columns:30px minmax(0,1fr) 30px;
    width:100%;
    height:54px;
    border:1px solid var(--border-strong);
    background:var(--background);
}

.product-quantity-button{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--text-heading);
    font-size:20px;
    line-height:1;
    font-weight:400;
    box-shadow:none;
    transition:background-color .18s ease;
}

.product-quantity-button:hover{
    border-color:transparent;
    background:var(--background-soft);
}

.product-quantity-input{
    min-width:0!important;
    min-height:0!important;
    height:52px!important;
    padding:0 2px!important;
    border:0!important;
    border-left:1px solid var(--border)!important;
    border-right:1px solid var(--border)!important;
    border-radius:0!important;
    background:#fff!important;
    color:var(--text-heading)!important;
    font-size:14px!important;
    line-height:52px!important;
    font-weight:700!important;
    text-align:center;
    box-shadow:none!important;
    appearance:textfield;
    -moz-appearance:textfield;
}

.product-quantity-input::-webkit-outer-spin-button,
.product-quantity-input::-webkit-inner-spin-button{
    margin:0;
    -webkit-appearance:none;
}

.product-add-to-cart{
    width:100%;
    min-width:0;
    gap:9px;
    white-space:nowrap;
}

.product-add-to-cart svg{
    flex:0 0 20px;
    width:20px;
    height:20px;
}

.product-add-to-cart-spinner{
    display:none;
    flex:0 0 18px;
    width:18px;
    height:18px;
    border:2px solid rgba(255,255,255,.35);
    border-top-color:#fff;
    border-radius:50%;
    animation:product-spinner .7s linear infinite;
}

.product-add-to-cart[data-loading="1"] .product-add-to-cart-spinner{
    display:block;
}

.product-add-to-cart[data-loading="1"] svg{
    display:none;
}

.product-add-to-cart:disabled,
.product-add-to-cart[aria-disabled="true"]{
    cursor:not-allowed;
    opacity:.65;
}

@keyframes product-spinner{
    to{transform:rotate(360deg)}
}

.product-unavailable{
    margin-top:24px;
    padding:14px 16px;
    border:1px solid rgba(167,63,63,.18);
    background:var(--error-soft);
    color:var(--error);
    font-size:14px;
    font-weight:600;
}

.trust-bar{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:22px;
    padding:16px 0;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
}

.trust-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    min-width:0;
    padding:0 7px;
    text-align:center;
}

.trust-item + .trust-item{
    border-left:1px solid var(--border);
}

.trust-icon{
    display:grid;
    place-items:center;
    width:21px;
    height:21px;
    color:var(--text-heading);
}

.trust-icon svg{
    width:100%;
    height:100%;
}

.trust-icon path,
.trust-icon circle{
    fill:none;
    stroke:currentColor;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.trust-text{
    color:var(--text-muted);
    font-size:10px;
    font-weight:600;
}

.product-payments{
    display:flex;
    justify-content:center;
    margin-top:16px;
}

.product-payments-image{
    width:auto;
    max-width:min(100%,340px);
    max-height:36px;
    object-fit:contain;
}

@media (min-width:768px){
    .product-top{
        gap:40px;
        padding-top:28px;
        padding-bottom:64px;
    }

    .product-gallery-thumbs{
        grid-auto-columns:82px;
    }

    .product-gallery-thumb{
        width:82px;
        height:82px;
    }

    .product-heading{
        margin-bottom:14px;
    }

    .product-purchase{
        grid-template-columns:108px minmax(0,1fr);
        gap:12px;
        margin-top:26px;
    }

    .product-quantity-control{
        grid-template-columns:34px minmax(0,1fr) 34px;
    }

    .trust-bar{
        margin-top:24px;
        padding:17px 0;
    }

    .trust-item{
        flex-direction:row;
        justify-content:center;
        gap:9px;
        padding:0 12px;
        text-align:left;
    }

    .trust-icon{
        flex:0 0 22px;
        width:22px;
        height:22px;
    }

    .product-payments{
        justify-content:flex-start;
        margin-top:18px;
    }
}

@media (min-width:1024px){
    .product-top{
        grid-template-columns:repeat(2,minmax(0,1fr));
        align-items:start;
        gap:64px;
        padding-top:36px;
        padding-bottom:80px;
    }

    .product-gallery{
        position:sticky;
        top:24px;
    }

    .product-summary{
        position:static;
        padding-top:2px;
    }

    .product-saving-badge{
        min-height:30px;
        padding:6px 10px;
    }

    .product-short-description{
        margin-top:24px;
    }

    .product-purchase{
        margin-top:28px;
    }

    .trust-item{
        gap:7px;
        padding:0 8px;
    }
}

@media (min-width:1280px){
    .product-top{
        gap:82px;
        padding-top:42px;
        padding-bottom:96px;
    }

    .product-gallery-thumbs{
        grid-auto-columns:88px;
    }

    .product-gallery-thumb{
        width:88px;
        height:88px;
    }

    .trust-item{
        gap:9px;
        padding:0 10px;
    }
}