/*==============================================================
    SpyX Product Page
==============================================================*/

.spyx-product-page{
    background:#000;
    color:#fff;
    padding:90px 0 120px;
    position:relative;
    overflow:hidden;
}

.spyx-product-page *,
.spyx-product-page *::before,
.spyx-product-page *::after{
    box-sizing:border-box;
}
.spyx-main-image,
#spyx-main-image,
#spyx-main-video {

    width: 100%;
    height: 100%;
    display: block;
    border: 0;

}

#spyx-main-video {

    aspect-ratio: 1 / 1;

}

.spyx-video-thumb{

    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;
    border-radius:inherit;

}

.spyx-video-thumb img{

    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;

}
.spyx-gallery-thumb{

    overflow:hidden;

}
.spyx-play-icon{

    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);

    width:34px;
    height:24px;

    background:#FF0000;
    border-radius:7px;

    display:flex;
    align-items:center;
    justify-content:center;

    pointer-events:none;
    box-shadow:0 4px 10px rgba(0,0,0,.35);

    font-size:0;

}

.spyx-play-icon::before{

    content:"";

    width:0;
    height:0;

    border-top:6px solid transparent;
    border-bottom:6px solid transparent;
    border-left:10px solid #fff;

    margin-left:2px;

}
/*==============================================================
    SpyX Breadcrumb
==============================================================*/

.spyx-breadcrumbs{
    margin-bottom:50px;
}

.spyx-breadcrumbs .woocommerce-breadcrumb{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:16px;
    font-size:15px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.8px;
    line-height:1;
}

.spyx-breadcrumbs a{
    color:#fff;
    text-decoration:none;
    transition:color .25s ease;
}

.spyx-breadcrumbs a:hover{
    color:#E4002B;
}

.spyx-breadcrumb-separator{
    color:#666;
    font-size:18px;
    font-weight:700;
}

.spyx-current{
    color:#E4002B;
}

/*==============================================================
    Container
==============================================================*/

.spyx-product-container{
    width:min(1320px,calc(100% - 40px));
    margin:0 auto;
}

/*==============================================================
    Product Layout
==============================================================*/

.spyx-product-layout{
    display:grid;
    grid-template-columns:minmax(0,58%) minmax(360px,42%);
    gap:70px;
    align-items:start;
}

/*==============================================================
    Gallery
==============================================================*/

.spyx-gallery{
    position:sticky;
    top:120px;
}

.spyx-gallery-wrapper{
    display:grid;
    grid-template-columns:110px minmax(0,1fr);
    gap:24px;
    align-items:start;
}

/*==============================================================
    Thumbnail Rail
==============================================================*/

.spyx-gallery-thumbs{
    display:flex;
    flex-direction:column;
    gap:14px;
    max-height:650px;
    overflow-y:auto;
    padding-right:4px;
}

.spyx-gallery-thumbs::-webkit-scrollbar{
    width:6px;
}

.spyx-gallery-thumbs::-webkit-scrollbar-track{
    background:#111;
}

.spyx-gallery-thumbs::-webkit-scrollbar-thumb{
    background:#333;
    border-radius:999px;
}

.spyx-gallery-thumb{
    width:90px;
    height:90px;
    border-radius:14px;
    overflow:hidden;
    cursor:pointer;
    background:#fff;
    border:2px solid transparent;
    transition:all .25s ease;
    flex-shrink:0;
}

.spyx-gallery-thumb img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.spyx-gallery-thumb:hover{
    border-color:#e4002b;
    transform:translateY(-2px);
}

.spyx-gallery-thumb.active{
    border-color:#e4002b;
    box-shadow:0 0 0 3px rgba(228,0,43,.15);
}

/*==============================================================
    Main Image
==============================================================*/

.spyx-gallery-main{
    background:#fff;
    border-radius:22px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    aspect-ratio:1/1;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
}

.spyx-gallery-main img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    transition:
        opacity .25s ease,
        transform .35s ease;
}

.spyx-gallery-main:hover img{
    transform:scale(1.02);
}

/*==============================================================
    Product Summary
==============================================================*/

.spyx-summary{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    padding-top:10px;
}

/*--------------------------------------------------------------
Subtitle
--------------------------------------------------------------*/

.spyx-product-subtitle{
    margin:0 0 18px;
    color:#ffffff;
    font-size:18px;
    font-weight:600;
    line-height:1.6;
    letter-spacing:.3px;
    opacity:.9;
}

/*--------------------------------------------------------------
Title
--------------------------------------------------------------*/

.spyx-product-title, .spyx-summary h1 {
    margin: 0 0 24px;
    font-size: 54px;
    line-height: .95;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #fff;
    font-family: 'Oswald', sans-serif;
}
.spyx-product-description h3 {
    font-family: 'Oswald', sans-serif;
    font-weight: normal;
    font-size: 24px;
    margin-top: 0;
    margin-bottom: 10px;
}
/*--------------------------------------------------------------
SKU
--------------------------------------------------------------*/

.spyx-product-item{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:34px;
    font-size:17px;
    color:#d7d7d7;
}

.spyx-product-item strong{
    color:#fff;
    font-weight:700;
}

/*--------------------------------------------------------------
Description
--------------------------------------------------------------*/

.spyx-product-description{
    margin-bottom:42px;
}

.spyx-product-description p{
    margin:0 0 18px;
    font-size:18px;
    line-height:1.85;
    color:#d7d7d7;
}

.spyx-product-description p:last-child{
    margin-bottom:0;
}

/*--------------------------------------------------------------
Links inside Description
--------------------------------------------------------------*/

.spyx-product-description a{
    color:#e4002b;
    text-decoration:none;
    transition:.25s ease;
}

.spyx-product-description a:hover{
    color:#ff365d;
}

/*--------------------------------------------------------------
Bold Text
--------------------------------------------------------------*/

.spyx-product-description strong, .spyx-product-description b {
    font-weight: 700;
    color: #E4002B;
}

/*--------------------------------------------------------------
Lists
--------------------------------------------------------------*/

.spyx-product-description ul,
.spyx-product-description ol{
    margin:18px 0;
    padding-left:22px;
}

.spyx-product-description li{
    margin-bottom:10px;
    color:#d7d7d7;
    line-height:1.8;
}

/*--------------------------------------------------------------
Images inside Description
--------------------------------------------------------------*/

.spyx-product-description img{
    max-width:100%;
    height:auto;
    border-radius:12px;
}

/*--------------------------------------------------------------
Spacing Utility
--------------------------------------------------------------*/

.spyx-summary > *:last-child{
    margin-bottom:0;
}

/*==============================================================
    Product Checklist
==============================================================*/

.spyx-product-checklist{
    margin:0;
    padding:0;
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:18px;
}

.spyx-product-checklist li{
    position:relative;
    padding-left:52px;
    font-size:18px;
    line-height:1.7;
    color:#fff;
    font-weight:500;
    margin:0;
}

.spyx-product-checklist li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:2px;
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#e4002b;
    color:#fff;
    font-size:15px;
    font-weight:700;
    box-shadow:0 8px 18px rgba(228,0,43,.25);
}

.spyx-product-checklist li:last-child{
    margin-bottom:0;
}

/*==============================================================
    Future CTA Buttons
==============================================================*/

.spyx-product-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    margin-top:48px;
}

.spyx-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:190px;
    height:56px;
    padding:0 32px;
    border-radius:999px;
    text-decoration:none;
    font-size:15px;
    font-weight:700;
    letter-spacing:.5px;
    transition:all .3s ease;
}

.spyx-btn-primary{
    background:#e4002b;
    color:#fff;
    border:2px solid #e4002b;
}

.spyx-btn-primary:hover{
    background:#ff1844;
    border-color:#ff1844;
    transform:translateY(-3px);
}

.spyx-btn-secondary{
    background:transparent;
    color:#fff;
    border:2px solid rgba(255,255,255,.15);
}

.spyx-btn-secondary:hover{
    border-color:#fff;
    background:rgba(255,255,255,.05);
    transform:translateY(-3px);
}

/*==============================================================
    Utility Helpers
==============================================================*/

.spyx-hidden{
    display:none !important;
}

.spyx-text-center{
    text-align:center;
}

.spyx-mt-20{
    margin-top:20px;
}

.spyx-mt-40{
    margin-top:40px;
}

.spyx-mb-20{
    margin-bottom:20px;
}

.spyx-mb-40{
    margin-bottom:40px;
}

/*==============================================================
    Animations
==============================================================*/

@keyframes spyxFadeUp{

    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

.spyx-summary{
    animation:spyxFadeUp .6s ease;
}

.spyx-gallery-main{
    animation:spyxFadeUp .6s ease;
}

.spyx-product-checklist li{
    animation:spyxFadeUp .5s ease;
}

/*==============================================================
    Related Products
==============================================================*/

.spyx-related-products{
    margin-top:140px;
}

.spyx-related-header{
    text-align:center;
    margin-bottom:60px;
}
.spyx-related-header h2 {
    margin: 0;
    color: #fff;
    font-size: 48px;
    line-height: 1;
    text-transform: uppercase;
    font-family: 'Oswald', sans-serif;
}

/*==============================================================
    Related Products Grid
==============================================================*/

.spyx-related-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:30px;
}

/*==============================================================
    Product Card
==============================================================*/

.spyx-related-card{
    background:#111;
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    overflow:hidden;
    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.spyx-related-card:hover{
    transform:translateY(-8px);
    border-color:#e4002b;
    box-shadow:0 18px 45px rgba(0,0,0,.35);
}

/*==============================================================
    Product Image
==============================================================*/

.spyx-related-image{
    display:block;
    background:#fff;
    aspect-ratio:1/1;
    overflow:hidden;
}

.spyx-related-image img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    transition:transform .45s ease;
}

.spyx-related-card:hover .spyx-related-image img{
    transform:scale(1.05);
}

/*==============================================================
    Product Content
==============================================================*/

.spyx-related-content{
    padding:24px;
}

.spyx-related-content h3 {
    margin: 0 0 20px;
    font-size: 22px;
    line-height: 1.4;
    font-family: 'Oswald', sans-serif;
    text-align: center;
}

.spyx-related-content h3 a{
    color:#fff;
    text-decoration:none;
    transition:color .25s ease;
}

.spyx-related-content h3 a:hover{
    color:#e4002b;
}

/*==============================================================
    View Product Button
==============================================================*/

.spyx-related-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    border-radius: 999px;
    border: 2px solid #e4002b;
    color: #fff;
    text-decoration: none;
    font-size: 20px;
    transition: all .3s ease;
    font-family: 'Oswald', sans-serif;
}

.spyx-related-button:hover{
    background:#e4002b;
}

/*==============================================================
    Card Animation
==============================================================*/

.spyx-related-card{
    animation:spyxFadeUp .5s ease;
}

/*==============================================================
    WooCommerce Cleanup
==============================================================*/

.spyx-product-page .price,
.spyx-product-page .woocommerce-Price-amount,
.spyx-product-page .woocommerce-product-rating,
.spyx-product-page .woocommerce-review-link,
.spyx-product-page .star-rating,
.spyx-product-page .product_meta,
.spyx-product-page .posted_in,
.spyx-product-page .tagged_as,
.spyx-product-page .sku_wrapper,
.spyx-product-page .woocommerce-tabs,
.spyx-product-page .woocommerce-tabs-wrapper,
.spyx-product-page .woocommerce-Tabs-panel,
.spyx-product-page #reviews,
.spyx-product-page form.cart,
.spyx-product-page .quantity,
.spyx-product-page .single_add_to_cart_button,
.spyx-product-page .related > h2{
    display:none !important;
}

/*==============================================================
    Large Desktop
==============================================================*/

@media (max-width:1400px){

    .spyx-product-container{
        width:min(1200px,calc(100% - 40px));
    }

    .spyx-product-layout{
        grid-template-columns:55% 45%;
        gap:60px;
    }

    .spyx-product-title,
    .spyx-summary h1{
        font-size:56px;
    }

    .spyx-related-header h2{
        font-size:50px;
    }

    .spyx-related-grid{
        gap:24px;
    }

}

/*==============================================================
    Laptop
==============================================================*/

@media (max-width:1200px){

    .spyx-product-layout{
        grid-template-columns:1fr 1fr;
        gap:45px;
    }

    .spyx-product-title,
    .spyx-summary h1{
        font-size:48px;
    }

    .spyx-product-description p{
        font-size:17px;
    }

    .spyx-product-checklist li{
        font-size:17px;
    }

    .spyx-gallery-wrapper{
        grid-template-columns:80px 1fr;
        gap:18px;
    }

    .spyx-gallery-thumb{
        width:80px;
        height:80px;
    }

    .spyx-related-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

}

/*==============================================================
    Tablet
==============================================================*/

@media (max-width:991px){
.spyx-breadcrumbs {
    margin-top: 60px;
}
nav.woocommerce-breadcrumb {
    gap: 0 !important;
    font-size: 14px !important;
}
    .spyx-product-page{
        padding:70px 0 90px;
    }

    .spyx-product-layout{
        grid-template-columns:1fr;
        gap:60px;
    }

    .spyx-gallery{
        position:relative;
        top:auto;
    }

    .spyx-gallery-wrapper{
        grid-template-columns:70px 1fr;
        gap:18px;
    }

    .spyx-gallery-thumb{
        width:70px;
        height:70px;
    }

    .spyx-summary{
        padding-top:0;
    }

    .spyx-product-title,
    .spyx-summary h1{
        font-size:42px;
    }

    .spyx-product-description p{
        font-size:17px;
        line-height:1.8;
    }

    .spyx-product-checklist li{
        font-size:17px;
    }

    .spyx-related-products{
        margin-top:100px;
    }

    .spyx-related-header{
        margin-bottom:40px;
    }

    .spyx-related-header h2{
        font-size:42px;
    }

    .spyx-related-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:22px;
    }

}

/*==============================================================
    Mobile
==============================================================*/

@media (max-width:767px){
nav.woocommerce-breadcrumb {
    gap: 0 !important;
    font-size: 14px !important;
}
    .spyx-product-page{
        padding:50px 0 70px;
    }

    .spyx-product-container{
        width:calc(100% - 24px);
    }

    .spyx-product-layout{
        gap:40px;
    }

    /*------------------------------------
        Gallery
    ------------------------------------*/

    .spyx-gallery-wrapper{
        display:flex;
        flex-direction:column;
    }

    .spyx-gallery-main{
        order:1;
        border-radius:18px;
        aspect-ratio:1/1;
    }

    .spyx-gallery-thumbs{
        order:2;
        flex-direction:row;
        overflow-x:auto;
        overflow-y:hidden;
        gap:12px;
        max-height:none;
        margin-top:18px;
        padding-bottom:6px;
        padding-right:0;
    }

    .spyx-gallery-thumbs::-webkit-scrollbar{
        height:6px;
    }

    .spyx-gallery-thumb{
        width:72px;
        height:72px;
        flex-shrink:0;
        border-radius:12px;
    }

    /*------------------------------------
        Summary
    ------------------------------------*/

    .spyx-product-subtitle{
        font-size:16px;
        margin-bottom:14px;
    }

    .spyx-product-title,
    .spyx-summary h1{
        font-size:34px;
        line-height:1;
        margin-bottom:20px;
    }

    .spyx-product-item{
        font-size:15px;
        margin-bottom:22px;
    }

    .spyx-product-description{
        margin-bottom:30px;
    }

    .spyx-product-description p{
        font-size:16px;
        line-height:1.75;
    }

    .spyx-product-checklist{
        gap:16px;
    }

    .spyx-product-checklist li{
        padding-left:42px;
        font-size:16px;
        line-height:1.6;
    }

    .spyx-product-checklist li::before{
        width:24px;
        height:24px;
        font-size:12px;
    }

    /*------------------------------------
        Buttons
    ------------------------------------*/

    .spyx-product-buttons{
        flex-direction:column;
        gap:14px;
        margin-top:36px;
    }

    .spyx-btn{
        width:100%;
        min-width:100%;
        height:52px;
    }

    /*------------------------------------
        Related Products
    ------------------------------------*/

    .spyx-related-products{
        margin-top:80px;
    }

    .spyx-related-header{
        margin-bottom:30px;
    }

    .spyx-related-header h2{
        font-size:32px;
    }

    .spyx-related-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .spyx-related-content{
        padding:20px;
    }

    .spyx-related-content h3{
        font-size:18px;
        margin-bottom:14px;
    }
.spyx-breadcrumbs {
    margin-top: 60px;
}
    .spyx-related-button{
        height:46px;
    }

}

/*==============================================================
    Small Mobile
==============================================================*/

@media (max-width:480px){

    .spyx-product-title,
    .spyx-summary h1{
        font-size:30px;
    }

    .spyx-gallery-thumb{
        width:60px;
        height:60px;
    }
.spyx-breadcrumbs {
    margin-top: 60px;
}
    .spyx-product-description p{
        font-size:15px;
    }

    .spyx-product-checklist li{
        font-size:15px;
        padding-left:38px;
    }
nav.woocommerce-breadcrumb {
    gap: 0 !important;
    font-size: 14px !important;
}
}

/*==============================================================
    Image Transition
==============================================================*/

.spyx-gallery-main img{
    transition:
        opacity .25s ease,
        transform .35s ease;
}

.spyx-gallery-main.loading img{
    opacity:.2;
}

/*==============================================================
    Selection
==============================================================*/

::selection{
    background:#e4002b;
    color:#fff;
}

::-moz-selection{
    background:#e4002b;
    color:#fff;
}