
/* ==========================
   PRODUCT PAGE
========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Larke;
}

/* Matches the homepage account modal. */
.account-modal-icon{width:60px;height:60px;object-fit:contain;display:block;margin:0 auto 18px}
.account-header{text-align:center;margin-bottom:30px}
.account-header h2{font-size:32px;margin-bottom:10px}
.account-header p{color:#777;font-size:15px}
.account-form{display:flex;flex-direction:column;gap:18px}
.input-group{display:flex;flex-direction:column;gap:8px}
.input-group label{font-size:14px;font-weight:600}
.input-group input{padding:14px 16px;border:1px solid #ddd;border-radius:12px;font-size:15px;outline:none}
.input-group input:focus{border-color:#E5A484}
.account-options{display:flex;justify-content:space-between;align-items:center;font-size:14px}
.signin-btn,.create-account-btn{width:100%;padding:15px;border:none;border-radius:14px;cursor:pointer;font-size:16px;font-weight:600}
.signin-btn{background:#E5A484;color:white}
.create-account-btn{background:white;border:1px solid #ddd;color:#555;-webkit-appearance:none;appearance:none}
.account-divider{text-align:center;margin:25px 0;color:#888}
.account-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;justify-content:center;align-items:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:99999}
.account-overlay.active{opacity:1;visibility:visible}
.account-modal{width:100%;max-width:460px;max-height:90vh;background:#fff;border-radius:22px;padding:40px;position:relative;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;box-shadow:0 25px 70px rgba(0,0,0,.18);transform:scale(.95);opacity:0;transition:transform .3s ease,opacity .3s ease}
.account-overlay.active .account-modal{transform:scale(1);opacity:1}
.account-modal::-webkit-scrollbar{display:none;width:0;height:0}
.account-close{display:none}
.signin-view,.register-view{transition:opacity .3s ease,transform .3s ease}
.signin-view{display:block;opacity:1;transform:translateX(0)}
.signin-view.hide{display:none;opacity:0;transform:translateX(-20px)}
.register-view{display:none;opacity:0;transform:translateX(20px)}
.register-view.active{display:block;opacity:1;transform:translateX(0)}
.register-form{display:flex;flex-direction:column;gap:18px}
.register-name-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.register-name-row .input-group{min-width:0}
.register-name-row input{width:100%;min-width:0}
.terms-check{display:flex;align-items:flex-start;gap:10px;margin:18px 0;font-size:14px;color:#666}
.register-btn,.back-to-signin-btn{width:100%;padding:14px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:.25s ease}
.register-btn{background:#E5A484;color:#fff;border:none;margin-top:20px}
.register-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(229,164,132,.35)}
.back-to-signin-btn{margin-top:18px;padding:14px;border:1px solid #E5A484;border-radius:12px;background:white;color:#E5A484;font-size:15px;font-weight:600;cursor:pointer;transition:.25s ease}
.back-to-signin-btn:hover{background:#E5A484;color:white}
#account-panel[hidden]{display:none}

@media screen and (max-width:600px){
    .account-overlay{padding:16px}
    .account-modal{width:100%;max-width:360px;max-height:calc(100dvh - 32px);padding:24px;border-radius:18px}
    .account-modal-icon{width:44px;height:44px;margin-bottom:12px}
    .account-header{margin-bottom:20px}
    .account-header h2{margin-bottom:6px;font-size:26px}
    .account-header p{font-size:14px}
    .account-form,.register-form{gap:14px}
    .input-group input{padding:12px 14px}
    .signin-btn,.create-account-btn{padding:13px}
    .account-divider{margin:18px 0}
    .register-view .account-modal-icon{display:none}
    .register-view .account-header{margin-bottom:14px}
    .register-view .account-header h2{font-size:24px}
    .register-form{gap:10px}
    .register-form .input-group{gap:4px}
    .register-form .input-group input{padding:10px 12px}
    .register-form .terms-check{margin:6px 0}
    .register-btn{margin-top:4px;padding:12px}
    .register-view > .account-divider{margin:14px 0}
    .back-to-signin-btn{margin-top:0;padding:12px}
}

@media screen and (max-width:380px){
    .register-name-row{grid-template-columns:1fr;gap:10px}
}

/* High-specificity option-panel constraints that resist later generic rules. */
.product-options-panel .product-options-dynamic > .product-option-divider{
    display:block;
    align-self:center;
    width:calc(100% - 48px);
    max-width:calc(100% - 48px);
    margin:28px auto;
    box-sizing:border-box;
}

.product-options-panel .product-option-values.has-few-options{
    display:grid;
    grid-template-columns:repeat(var(--option-count), minmax(0, 1fr));
    flex-wrap:nowrap;
    width:100%;
}

.product-options-panel .product-option-values.has-few-options .product-option-btn{
    width:100%;
    min-width:0;
    max-width:100%;
    padding:0 8px;
    font-size:14px;
    line-height:1;
    white-space:nowrap;
}

/* Keep longer option groups to four choices per row. */
.product-options-panel .product-option-values:not(.has-few-options){
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    width:100%;
}

.product-options-panel .product-option-values.has-four-columns .product-option-btn{
    width:100%;
    min-width:0;
    max-width:100%;
    height:42px;
    padding:0 8px;
    font-size:13px;
    line-height:1;
    white-space:nowrap;
}

.product-options-panel .product-option-btn.has-long-label{
    padding-left:4px;
    padding-right:4px;
    font-size:12px;
    letter-spacing:-.15px;
}

@media (min-width:601px){
    .product-options-panel .product-option-group[data-option-key="color"] .product-option-values.has-few-options{
        display:flex;
        flex-wrap:nowrap;
        width:100%;
    }

    .product-options-panel .product-option-group[data-option-key="color"] .has-few-options .product-option-btn{
        flex:0 1 auto;
        width:auto;
        min-width:90px;
        max-width:140px;
        padding:0 18px;
    }

    .product-options-panel .product-option-group[data-option-key="size"] .product-option-values.has-few-options{
        display:flex;
        flex-wrap:nowrap;
        width:100%;
    }

    .product-options-panel .product-option-group[data-option-key="size"] .has-few-options .product-option-btn{
        flex:0 1 auto;
        width:auto;
        min-width:64px;
        max-width:90px;
        padding:0 14px;
    }
}

@media (min-width:1101px){
    .product-options-panel.has-compact-options{
        width:min(100%, 460px);
    }
}

@media (min-width:601px) and (max-width:1100px){
    .product-options-panel .product-option-group[data-option-key="color"] .product-option-values.has-few-options,
    .product-options-panel .product-option-group[data-option-key="size"] .product-option-values.has-few-options{
        justify-content:space-between;
        gap:8px;
    }

    .product-options-panel .product-option-group[data-option-key="color"] .has-few-options .product-option-btn{
        flex:0 1 88px;
        min-width:68px;
        max-width:88px;
        padding:0 8px;
        font-size:12px;
    }

    .product-options-panel .product-option-group[data-option-key="size"] .has-few-options .product-option-btn{
        flex:0 1 58px;
        min-width:48px;
        max-width:58px;
        padding:0 8px;
        font-size:12px;
    }
}

/* A single choice is a compact pill, not a full-width selection bar. */
.product-options-panel .product-option-values.has-few-options.has-one-option{
    display:flex;
    width:auto;
}

.product-options-panel .product-option-values.has-few-options.has-one-option .product-option-btn{
    width:auto;
    min-width:58px;
    max-width:none;
}

@media (max-width:600px){
    .product-options-panel .product-options-dynamic > .product-option-divider{
        margin:20px auto;
    }

    .product-options-panel .product-option-values.has-four-columns .product-option-btn{
        height:38px;
        padding:0 5px;
        font-size:12px;
    }

    .product-options-panel .product-option-values.has-few-options .product-option-btn{
        padding:0 5px;
        font-size:13px;
    }

    .product-options-panel .product-option-group[data-option-key="color"] .product-option-values.has-few-options,
    .product-options-panel .product-option-group[data-option-key="size"] .product-option-values.has-few-options{
        display:flex;
        flex-wrap:nowrap;
        width:100%;
    }

    .product-options-panel .product-option-group[data-option-key="color"] .has-few-options .product-option-btn{
        flex:0 1 auto;
        width:auto;
        min-width:70px;
        max-width:105px;
        padding:0 8px;
        font-size:12px;
    }

    .product-options-panel .product-option-group[data-option-key="size"] .has-few-options .product-option-btn{
        flex:0 1 auto;
        width:auto;
        min-width:52px;
        max-width:72px;
        padding:0 9px;
        font-size:12px;
    }
}

body{
    background:#ffffff;
    color:#333;
    padding-bottom:calc(110px + env(safe-area-inset-bottom, 0px));
}

html.side-panel-open,
body.side-panel-open{
    overflow:hidden;
    overscroll-behavior:none;
}

.side-panel-backdrop{
    position:fixed;
    inset:0;
    z-index:1001;
    background:transparent;
    opacity:0;
    visibility:hidden;
    transition:opacity .25s ease, visibility .25s ease;
}

body.side-panel-open .side-panel-backdrop{
    opacity:1;
    visibility:visible;
}

/* ===== PRODUCT GALLERY ===== */

.product-gallery{
    width:100%;
    max-width:760px;
}

.product-gallery-wrapper{
    display:grid;
    grid-template-columns:90px 1fr;
    gap:24px;
    align-items:start;
}

.product-thumbnails{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.product-thumbnail{

    width:90px;

    height:90px;

    object-fit:cover;

    border-radius:18px;

    border:2px solid transparent;

    background:#f8f8f8;

    cursor:pointer;

    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;

}

.product-thumbnail:hover{

    transform:translateY(-4px);

    border-color:#d8d8d8;

    box-shadow:0 10px 22px rgba(0,0,0,.08);

}

.product-thumbnail.active{

    border-color:#E5A484;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.product-image-container{

    width:100%;

    max-width:680px;

    position:relative;

    overflow:hidden;

    border-radius:28px;
    touch-action:pan-y;
    overscroll-behavior-x:contain;

}

.product-image-container:focus{
    outline:none !important;
    box-shadow:none !important;
}

.product-image-container:focus-visible{
    outline:none !important;
    box-shadow:none !important;
}

.gallery-arrow{
    position:absolute;
    top:50%;
    z-index:3;
    display:none;
    place-items:center;
    width:44px;
    height:44px;
    padding:0;
    border:0;
    background:transparent;
    opacity:1;
    cursor:pointer;
    transform:translateY(-50%);
}

.gallery-arrow-prev{left:16px;}
.gallery-arrow-next{right:16px;}
.gallery-arrow img{display:block;width:22px;height:22px;margin:auto;object-fit:contain;pointer-events:none;}
.gallery-arrow:disabled{opacity:.25;cursor:default;}
.gallery-arrow[hidden]{display:none;}

.gallery-arrow:focus,
.gallery-arrow:focus-visible{
    outline:none !important;
    box-shadow:none !important;
}

.gallery-status{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

@media (max-width:600px){
    .gallery-arrow{
        display:grid;
        width:38px;
        height:38px;
    }

    .gallery-arrow-prev{left:12px;}
    .gallery-arrow-next{right:12px;}
}
.product-slider-track{
    display:flex;
    width:100%;
    transition:transform .35s ease;
    will-change:transform;
}

.product-slide{
    width:100%;
    min-width:100%;
    max-width:100%;
    flex:0 0 100%;
    overflow:hidden;
}

.product-slide img{
    width:100%;
    height:620px;
    object-fit:cover;
    object-position:center;
    display:block;
    border-radius:28px;
    user-select:none;
    -webkit-user-select:none;
    -webkit-user-drag:none;
    pointer-events:none;
}

@media (min-width:601px){
    .product-image-container.show-full-gallery-image .product-slide img{
        object-fit:contain;
    }
}

/* ==========================
   HEADER
========================== */

.product-page-header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 86px;

    background: rgba(255,255,255,.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    padding: 0 9%;
display: flex;
justify-content: space-between;
align-items: center;
    box-shadow: 0 4px 18px rgba(0,0,0,.06);
    z-index: 1000;
}


.account-modal-icon{
    width:60px;
    height:60px;
    object-fit:cover;
    display:block;
    margin:0 auto 18px;
}

.product-page-header-inner{
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.product-back-btn{

    background:none;

    border:none;

    cursor:pointer;

    display:flex;

    align-items:center;

    justify-content:center;

}

.product-back-btn img{

    width:24px;

    display:block;

}

.product-page-icons{

    display:flex;

    align-items:center;

    gap:18px;

    flex:1;

    justify-content:flex-end;

    margin-left:28px;

}

.product-nav-search{
    position:relative;
    flex:1 1 300px;
    width:auto;
    max-width:none;
    min-width:140px;
}

.product-nav-search-icon{
    position:absolute;
    top:50%;
    left:13px;
    width:17px;
    height:17px;
    object-fit:contain;
    pointer-events:none;
    transform:translateY(-50%);
    opacity:.65;
}

.product-nav-search #search-input{
    width:100%;
    height:42px;
    padding:0 42px 0 40px;
    border:1px solid #ddd;
    border-radius:999px;
    background:#fafafa;
    outline:none;
    font-size:14px;
    transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.product-nav-search #search-input::-webkit-search-cancel-button{
    display:none;
    -webkit-appearance:none;
}

.product-search-clear{
    position:absolute;
    top:50%;
    right:14px;
    display:flex;
    width:14px;
    height:14px;
    padding:3px;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:50%;
    background:transparent;
    cursor:pointer;
    transform:translateY(-50%);
}

.product-search-clear[hidden]{display:none}

.product-search-clear img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}

.product-nav-search #search-input:focus{
    border-color:#E5A484;
    background:#fff;
    box-shadow:0 0 0 3px rgba(229,164,132,.14);
}
#cart-icon{
    position:relative;
    display:flex;
    width:30px;
    cursor:pointer;
    transition:transform .25s ease, opacity .25s ease;
}

.cart-image{
    width:30px;
    display:block;
    object-fit:contain;
}

#cart-icon:hover{
    transform:translateY(-2px) scale(1.08);
    opacity:.8;
}

#cart-icon .cart-item-count{
    position: absolute;
    top: 0;
    right: -6px;
    width: auto;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    background: #E5A484;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    padding-top: 1px;
    box-sizing: border-box;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: hidden;
}
#search-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition:transform .25s ease, opacity .25s ease;
}

#search-icon:hover{
    transform: scale(1.08);
    opacity: .8;
}

.search-image{
    width: 26px;
    height: 26px;
    display: block;
    object-fit: contain;
}

#wishlist-nav-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:transform .25s ease, opacity .25s ease;
}

.wishlist-nav-image{
    width:26px;
    display:block;
    object-fit:contain;
}

#wishlist-nav-icon:hover{
    transform:scale(1.08);
    opacity:.8;
}

#account-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:transform .25s ease, opacity .25s ease;
}

#account-icon:hover{
    transform:scale(1.08);
    opacity:.8;
}

.account-image{
    width:26px;
    height:26px;
    display:block;
    object-fit:contain;
}

.account-image.has-profile-image{
    border-radius:50%;
    object-fit:cover;
}

.account-initials{
    display:none;
    align-items:center;
    justify-content:center;
    width:26px;
    height:26px;
    border-radius:50%;
    background:#E5A484;
    color:#fff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
}

#account-icon.show-initials .account-image{
    display:none;
}

#account-icon.show-initials .account-initials{
    display:flex;
}

/* ==========================================
   PAGE
========================================== */

.product-page{

    max-width:1400px;

    margin:120px auto 60px;

    padding:0 40px;

}

.product-details{
    width:100%;
    padding:120px 9% 0;
}

.product-layout{
    display:grid;
    grid-template-columns:620px 460px;
    justify-content:space-between;
    gap:80px;
    align-items:start;

    width:100%;
    max-width:none;
    margin:0;
}

/* Preserve the shared 9% gutter without overflowing smaller laptops. */
@media (min-width:901px) and (max-width:1200px){
    .product-layout{
        grid-template-columns:minmax(0, 1.3fr) minmax(320px, .9fr);
        gap:40px;
    }

    .product-gallery-wrapper{
        grid-template-columns:70px minmax(0, 1fr);
        gap:18px;
    }

    .product-thumbnail{
        width:70px;
        height:70px;
    }
}

.product-info{

    display:flex;

    flex-direction:column;

}

/* ==========================================
   INFO
========================================== */

.product-title-section{

    margin-bottom:8px;

}

.product-page-title{

    font-size:46px;

    font-weight:700;

    line-height:1.05;

    margin-bottom:18px;

}


.product-description-section{
    margin:22px 0;
}

.product-description-section h3{

    font-size:14px;

    letter-spacing:1px;

    text-transform:uppercase;

    color:#999;

    margin-bottom:18px;

}


/* ==========================
   TITLE
========================== */

.product-title-row{

    display:flex;

    flex-wrap:nowrap;

    justify-content:space-between;

    align-items:flex-start;

    width:100%;

    margin-top:8px;

    margin-bottom:8px;

}

.product-title-row .product-page-title{
    flex:1 1 auto;
    min-width:0;
    margin-bottom:0;
}

.product-title-row .product-bottom-share{
    width:42px;
    min-width:42px;
    height:42px;
    margin-left:18px;
    margin-top:4px;
    flex:0 0 42px;
}

.product-title-row .product-bottom-share-icon{
    width:20px;
    height:20px;
}


.product-page-favorite{

    width:42px;

    height:42px;

    border:none;

    border-radius:50%;

    background:white;

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:pointer;

    box-shadow:0 6px 18px rgba(0,0,0,.12);

    transition:.25s ease;
    margin-left:20px;
flex-shrink:0;

}

.product-page-favorite:hover{

    transform:scale(1.08);

}

.product-page-favorite-icon{

    width:18px;

    height:18px;

    object-fit:contain;
    
    margin:10px 0 18px;

}

/* ==========================
   PRICE
============================= */

.product-page-price{
    font-size:28px;
    font-weight:700;
    color:#E5A484;
    margin:10px 0 8px;
}

/* ==========================
   DESCRIPTION
============================= */

.product-page-description{

    font-size:16px;

    line-height:1.7;

    color:#666;

    margin-bottom:0;

}

.product-page-description.is-collapsed{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.product-description-read-more{
    margin-top: 6px;
    padding: 0;
    border: none;
    background: transparent;
    color: #E5A484;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.product-description-read-more:hover,
.product-description-read-more:focus-visible{
    color: #c98562;
}

/* ==========================
   COLOR & SIZE
============================= */

.product-options-panel{
    width:100%;
    margin:6px 0 18px;
    padding:28px 0;
    border:1px solid #e8e8e8;
    border-radius:20px;
    background:#fafafa;
    box-shadow:0 3px 8px rgba(0, 0, 0, .025);
    box-sizing:border-box;
}

.product-options-panel:not(.options-ready){
    min-height:260px;
}

.product-options-panel.options-ready .product-options-loading{
    display:none;
}

.product-options-loading{
    padding:0 24px;
}

.product-option-loading-label,
.product-option-loading-values span{
    display:block;
    overflow:hidden;
}

.product-option-loading-label{
    width:72px;
    height:12px;
    border-radius:999px;
}

.product-option-loading-label.is-short{
    width:46px;
}

.product-option-loading-values{
    display:flex;
    gap:10px;
    margin-top:16px;
}

.product-option-loading-values span{
    width:82px;
    height:42px;
    border-radius:999px;
}

.product-option-loading-values.is-size-row span{
    width:58px;
}

.product-option-loading-divider{
    height:1px;
    margin:20px 0;
    background:#e7e2df;
}

.product-options-panel > .section-divider,
.product-option-divider{
    width:auto;
    margin:28px 24px;
    background:#ededed;
}

.product-options-panel .product-option-divider{
    width:auto;
    max-width:calc(100% - 48px);
    margin-left:24px;
    margin-right:24px;
    box-sizing:border-box;
}

.product-colors,
.product-option-group{

    margin-bottom:0;

}

.product-sizes{

    margin-bottom:0;

}

.product-colors h3,
.product-sizes h3,
.product-option-group h3{

    font-size:14px;

    font-weight:600;

    letter-spacing:1px;

    text-transform:uppercase;

    color:#888;

    margin-bottom:10px;

}

.color-options,
.size-options,
.product-option-values{

    display:flex;

    flex-wrap:wrap;

    gap:14px;

    margin-top:16px;

}

.product-bottom-bar{

    position: fixed;

    left: 0;
    bottom: 0;

    width: 100%;

    height: 82px;

    background: rgba(255,255,255,.96);

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    box-shadow: 0 -6px 24px rgba(0,0,0,.08);

    padding: 0 9%;

    z-index: 1000;

    border-top: 1px solid rgba(0,0,0,.06);
    display: flex;
justify-content: space-between;
align-items: center;
}


.product-bottom-bar-inner{
    width:100%;
    max-width:1400px;
    margin:0 auto;

    height:100%;

    display:flex;
    align-items:center;
    justify-content:space-between;
}

.product-bottom-left{
    display:flex;
    align-items:center;
    gap:20px;
}

.product-bottom-price{
    font-size:17px;
    font-weight:700;
    color:#222;
    white-space:nowrap;

    display:flex;
    align-items:center;
    gap:5px;

    height:100%;
}

.color-btn,
.size-btn,
.product-option-btn{

    min-width:58px;

    height:46px;

    padding:0 20px;

    border:1px solid #e7e7e7;

    border-radius:999px;

    background:#ffffff;

    color:#555;

    font-size:15px;

    font-weight:500;

    cursor:pointer;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        color .2s ease,
        box-shadow .2s ease;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;

}

.color-btn.active,
.size-btn.active,
.product-option-btn.active{

    background:#E5A484;

    color:white;

    border-color:#E5A484;

    box-shadow:
        0 4px 10px rgba(229,164,132,.16);

}

@media (hover:hover) and (pointer:fine){
    .color-btn:hover,
    .size-btn:hover,
    .product-option-btn:hover{
        border-color:#E5A484;
        box-shadow:0 3px 8px rgba(0,0,0,.035);
    }
}

.product-option-btn:active{
    transform:none;
}

/* ==========================================================
   WISHLIST
========================================================== */

.wishlist{

    position: fixed;

    top: 0;
    bottom: 0;

    right: 0;

    width: 360px;

    height: auto;

    background: #fff;

    box-shadow: -2px 0 10px rgba(93,93,93,.13);

    z-index: 1002;

    display: flex;

    flex-direction: column;

    transform: translate3d(100%, 0, 0);

    transition: transform .35s ease;
    will-change: transform;
    contain: layout paint;

}

.wishlist-content{

    flex: 1;

    overflow-y: auto;

    min-height: 0;

    contain: layout paint;

}

.wishlist.active{

    transform: translate3d(0, 0, 0);

}

.wishlist-title{

    padding: 20px;

    font-size: 38px;

    font-weight: 600;

    color: #E5A484;

    background: rgba(243,243,243,.93);

    border-bottom: 2px solid #e6e6e6;

}

#wishlist-close{

    position: absolute;

    top: 32px;

    right: 25px;

    width: 22px;

    height: 22px;

    object-fit: contain;

    cursor: pointer;

}

.wishlist-item{

    display: flex;

    align-items: center;

    gap: 0;

    padding: 18px;

    border-bottom: 1px solid #f1f1f1;

}

.wishlist-item > img{

    width: 82px;

    height: 82px;

    object-fit: cover;

    border-radius: 10px;

}

#wishlist-nav-icon{

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    transition:background-color .25s ease, transform .25s ease, box-shadow .25s ease;

}

.wishlist-nav-image{

    width: 26px;
    display: block;
    object-fit: contain;

}

#wishlist-nav-icon:hover{

    transform: scale(1.08);

    opacity: .8;

}


.wishlist-details{

    display: flex;

    flex-direction: column;

    gap: 8px;

    flex: 1;

    padding-right: 45px;

    /* shorter adcart button
    .wishlist-details{

    display: flex;

    flex-direction: column;

    gap: 6px;

}
    */

}


.wishlist-details span{

    color: #666;

    font-size: 15px;

}

.wishlist-item{
    position: relative;

}

.wishlist-remove{

    position: absolute;

    top: calc(50% - 15px);

    right: 20px;

    width: 30px;

    height: 30px;

    padding: 0;

    border: none;

    border-radius: 0;

    background: transparent;

    display: flex;

    justify-content: center;

    align-items: center;

    cursor: pointer;

    box-shadow: none;

    transition: .2s ease;

}

.wishlist-remove:hover{

    transform: scale(1.15);

    opacity: .7;

}

.wishlist-remove-icon{

    width: 30px;

    height: 30px;

    display: block;

    object-fit: contain;

}

.wishlist-add-cart{

    width: 80%;

    margin-top: 10px;

    padding: 9px 13px;

    border: none;

    border-radius: 8px;

    background: #E5A484;

    color: white;

    font-size: 14px;

    font-weight: 600;
    
        cursor: pointer;
        
            transition: .25s ease;
            
            }

.wishlist-add-cart:hover{

    transform: translateY(-2px);

}
.wishlist-footer{

    padding: 20px;

    border-top: 1px solid #f1f1f1;
    margin-top: auto;

}

.clear-wishlist{

    width: 100%;

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 10px;

    padding: 14px;

    border: 1px solid #dddddd;

    border-radius: 10px;

    background-color: rgba(243, 243, 243, 0.932);

    color: #666;

    font-size: 15px;

    font-weight: 600;

    cursor: pointer;

    transition: .25s ease;

}

.clear-wishlist:hover,
.clear-wishlist.is-confirming{

    color: #d9534f;

    border-color: #d9534f;

}

.clear-wishlist-icon{

    width: 18px;

    height: 18px;

    object-fit: contain;

}

@media (min-width:601px){
    .clear-wishlist.is-confirming{
        color:#d9534f;
        border-color:#d9534f;
    }
}

.wishlist-add-cart:active{

    transform: scale(.96);

}


.wishlist-btn{

    position: absolute;

    top: 12px;
    left: 12px;

    width: 40px;
    height: 40px;

    border: none;
    border-radius: 50%;

    background: rgba(255,255,255,.95);

    display: flex;
    justify-content: center;
    align-items: center;

        cursor: pointer;

            
    z-index: 2;
    padding: 0;
    box-shadow:0 6px 18px rgba(0,0,0,.12);
    transition:transform .25s ease, box-shadow .25s ease;

}

.wishlist-icon{

    width: 18px;
    height: 18px;

    object-fit: contain;

    display: block;
    transform: translate(0px, 1px);

    transition:transform .25s ease, opacity .25s ease;

}

.wishlist-btn:hover{

    transform: translateY(-2px) scale(1.08);
    box-shadow:0 10px 24px rgba(0,0,0,.16);

}

.wishlist-btn:active{

    transform: scale(.92);

}


/* ---------- EMPTY WISHLIST ---------- */

.wishlist-empty{

    display: none;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    padding: 60px 25px;

    color: #888;

    animation: fadeWishlist .3s ease;

}

.wishlist-empty-icon{

    width: 70px;

    opacity: .25;

    margin-bottom: 18px;

}

.wishlist-empty h3{

    font-size: 22px;

    color: #444;

    margin-bottom: 10px;

}

.wishlist-empty p{

    font-size: 15px;

    line-height: 1.5;

    margin-bottom: 25px;

}

.wishlist-continue{

    padding: 12px 28px;

    border: none;

    border-radius: 30px;

    background: #E5A484;

    color: white;

    font-size: 15px;

    font-weight: 600;

    cursor: pointer;

    transition:background-color .25s ease, transform .25s ease, box-shadow .25s ease;

}

.wishlist-continue:hover{

    transform: translateY(-2px);

}

.wishlist-continue:active{

    transform: scale(.97);

}

@keyframes fadeWishlist{

    from{

        opacity: 0;

        transform: translateY(10px);

    }

    to{

        opacity: 1;

        transform: translateY(0);

    }

}

@keyframes heartPop{

    0%{

        transform: scale(1);

    }

    50%{

        transform: scale(.8);

    }

    100%{

        transform: scale(1.15);

    }

}
.heart-pop{

    animation: heartPop .25s ease;

}


/* ---------- TOAST NOTIFICATION ---------- */

.toast{
    position: fixed;
    top: 95px;
    left: 50%;
    width:max-content;
    max-width:calc(100vw - 32px);
    box-sizing:border-box;
    transform: translateX(-50%) translateY(-20px);

    background: rgba(229, 164, 132, 0.96);
    color: white;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    padding: 14px 24px;
    border-radius: 30px;

    font-size: 15px;
    font-weight: 500;
    text-align:center;

    box-shadow: 0 10px 25px rgba(0,0,0,.18);

    opacity: 0;
    pointer-events: none;

    transition: all .35s ease;
    border: 1px solid rgba(255,255,255,.25);
    letter-spacing: .3px;
    
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    z-index: 100000;
}

.toast.show{
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.toast.success{
    background: rgba(59, 217, 67, 0.95);
}

.toast.warning{
    background: rgba(229, 164, 132, .96);
}

@media screen and (max-width:600px){
    .toast{
        width:fit-content;
        max-width:calc(100vw - 32px);
        padding:11px 18px;
        font-size:14px;
        text-align:center;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }
}

/* ---------- CONFIRM POPUP ---------- */

.confirm-overlay{

    position: fixed;

    inset: 0;

    background: rgba(0,0,0,.55);

    backdrop-filter: none;
    -webkit-backdrop-filter: none;

    display: flex;
    justify-content: center;
    align-items: center;

    opacity: 0;
    visibility: hidden;

    transition: .3s ease;

    z-index: 99999;

}

.confirm-overlay.active{

    opacity: 1;
    visibility: visible;

}

.confirm-box{

    width: 90%;
    max-width: 380px;

    background: white;

    border-radius: 18px;

    padding: 28px;

    text-align: center;

    transform: scale(.9);

    transition: .3s ease;

}

.confirm-overlay.active .confirm-box{

    transform: scale(1);

}

/* Move confirmation uses the standard soft rise without a zoom effect. */
.move-wishlist-confirm-overlay .confirm-box{
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .3s ease, transform .3s ease;
}

.move-wishlist-confirm-overlay.active .confirm-box{
    opacity: 1;
    transform: translateY(0);
}

.confirm-icon{

    width: 48px;

    margin-bottom: 18px;

}

.confirm-box h2{

    font-size: 26px;

    margin-bottom: 12px;

    color: #333;

}

.confirm-box p{

    color: #666;

    line-height: 1.5;

    margin-bottom: 24px;

}

.confirm-buttons{

    display: flex;

    gap: 12px;

}

.confirm-buttons button{

    flex: 1;

    padding: 12px;

    border-radius: 10px;

    font-size: 15px;

    font-weight: 600;

cursor: pointer;

transition: .25s ease;

}

.confirm-cancel{

    background: white;

    border: 1px solid #ddd;

    color: #555;

}

.confirm-cancel:hover{

    background: #f5f5f5;

}

.confirm-clear{

    background: #E5A484;

    border: none;

    color: white;

}

.confirm-clear:hover{

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(229,164,132,.35);

}

 @keyframes cartBounce{
    0%{
        transform: scale(1);
    }

    40%{
        transform: scale(1.25);
    }

    70%{
        transform: scale(.9);
    }

    100%{
        transform: scale(1);
    }
}

.cart-bounce{
    animation: cartBounce .45s ease;
}

@keyframes badgePop{
    0%{
        transform: scale(1);
    }

    50%{
        transform: scale(1.35);
    }

    100%{
        transform: scale(1);
    }
}

.badge-pop{
    animation: badgePop .3s ease;
}


/* ==========================================================
   PRODUCTPAGE CART
========================================================== */

.cart {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    width: 360px;
    height: auto;

    background: #fff;
    box-shadow: -2px 0 10px rgba(93,93,93,.13);

    z-index: 1002;

    display: flex;
    flex-direction: column;

    transform: translate3d(100%, 0, 0);
    transition: transform .35s ease;
    will-change: transform;
    contain: layout paint;
}

.cart.active{
    transform: translate3d(0, 0, 0);
}


/*Your Cart*/
.cart-title{
   /* text-align: center;*/
    font-size: 30px;
    padding: 20px;
    margin: 0;
    color: #E5A484;
    background-color: rgba(243, 243, 243, 0.932);
    font-size: 38px;
    font-weight: 600;
    border-left: 1px solid #f7f7f7; 
    border-bottom: 2px solid #e6e6e6; 
}

.cart-title-count{
    color: #555;
    font-size: .5em;
    font-weight: 500;
}

@media screen and (min-width:601px) and (max-width:1440px){
    .cart-title{
        display:flex;
        align-items:center;
        gap:7px;
        padding-right:125px;
        white-space:nowrap;
    }

    .cart-title-count{flex:0 0 auto;}
}

/*scroll bar for cart*/
.cart-content{
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.cart-box {
    position: relative;
    display: block;
    margin: 18px;
    padding: 0;
    overflow: hidden;
    border-bottom: 1px solid #f1f1f1;
    border-radius: 10px 0 0 10px;
}

.cart-box-main{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    padding-bottom:18px;
    background:#fff;
    touch-action:pan-y;
    transform:translate3d(0, 0, 0);
    transition:transform .34s cubic-bezier(.22, 1, .36, 1);
    will-change:transform;
    backface-visibility:hidden;
}

.cart-box-main.is-dragging{ transition:none; }
.cart-box.is-swiped .cart-box-main{ transform:translate3d(-222px, 0, 0); }

.cart-swipe-actions{
    position:absolute;
    inset:0 0 0 auto;
    display:flex;
    width:222px;
}

.cart-swipe-actions[aria-hidden="true"]{
    visibility:hidden;
}

.cart-swipe-action{
    display:flex;
    flex:1;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:8px 4px;
    border:0;
    color:#fff;
    font:inherit;
    font-size:11px;
    cursor:pointer;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
    transition:background-color .15s ease, opacity .15s ease;
    transform:none;
}

.cart-swipe-action.cart-move-wishlist{ background:#e8b097; }
.cart-swipe-action.cart-share{ background:#333; }
.cart-swipe-action.cart-delete{ background:#d9534f; }
.cart-box.swipe-dragging{ background:#d9534f; }
.cart-box.delete-armed{ background:#d9534f; }
.cart-box.delete-armed .cart-swipe-action:not(.cart-delete){ opacity:.42; }
.cart-box.delete-armed .cart-delete{ background:#bd2f2b; }
.cart-swipe-action.cart-move-wishlist,
.cart-swipe-action.cart-share,
.cart-swipe-action.cart-delete{ width:auto; height:auto; }
.cart-swipe-action img,
.cart-swipe-action.cart-move-wishlist img{ width:25px; height:25px; object-fit:contain; }
.cart-swipe-action:focus-visible{ outline:3px solid #fff; outline-offset:-4px; }
.cart-swipe-action.cart-move-wishlist:active{
    background:#d89a7c;
    opacity:.86;
    transform:none;
}

@media (prefers-reduced-motion: reduce){
    .cart-box-main{ transition:none; }
}

/*Image in cart*/
.cart-img{
    display:block;
    width:100%;
    height:100%;
    border-radius:10px;
    object-fit:cover;
}

.cart-product-link,
.wishlist-product-link{
    display:block;
    flex:0 0 auto;
}

.cart-product-link{
    width:92px;
    height:112px;
    min-height:112px;
    align-self:center;
    overflow:hidden;
    margin-right:18px;
    border-radius:14px;
}

@media screen and (max-width:600px){
    .cart-product-link,
    .wishlist-product-link{margin-right:14px;}
}

.wishlist-product-link{
    width:92px;
    height:112px;
    min-height:112px;
    overflow:hidden;
    margin-right:18px;
    border-radius:14px;
}

.wishlist-product-link .wishlist-img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.cart-title-link,
.wishlist-title-link{
    color:inherit;
    text-decoration:none;
}

.cart-title-link:hover,
.wishlist-title-link:hover{
    color:#777;
    text-shadow:none;
}

.cart-detail{
    display: grid;
    gap: 8px;
    margin-right: auto;
}

.cart-product-title{
    font-size: 16px;
    line-height: 1;
}

.cart-price {
    font-weight:500;
}

.cart-quantity{
    display: flex;
    align-items: stretch;
    width: 100px;
    height: 24px;
    border: 1px solid #ececec;
    border-radius: 8px;
    background: white;
    overflow: hidden;
}

.cart-quantity button{
    background: transparent;
    width: 30px;
    flex: 0 0 30px;
    border: none;
    font-size: 20px;
    cursor: pointer;
    transition: .2s ease;
    display: flex;
    justify-content: center;
    align-items: center;
}

.cart-quantity button img{
    display:block;
    width:8px;
    height:8px;
    object-fit:contain;
    pointer-events:none;
}

.number{
    flex: 0 0 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    line-height: 1;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    border-left: 1px solid #ececec;
    border-right: 1px solid #ececec;
}

.cart-item-actions{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    gap:10px;
    margin-right:12px;
}

.cart-item-actions .cart-move-wishlist{
    display:flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
    transition:.2s ease;
}

.cart-item-actions .cart-move-wishlist:hover,
.cart-item-actions .cart-move-wishlist:focus-visible{
    transform:scale(1.15);
    opacity:.7;
}

.cart-item-actions .cart-move-wishlist img{
    display:block;
    width:30px;
    height:30px;
    object-fit:contain;
}

.cart-remove{
    width: 30px;
    height: 30px;
    left: -55px;
    cursor: pointer;
    transition: .2s ease;
}

.cart-variants {
    font-size: 13px;
    color: #888;
    font-weight: 500;
    margin: 1px 0 3px;
    letter-spacing: 0.2px;
}


.cart-remove:hover{
    transform:scale(1.15);
    opacity: .7;
}

.cart-variants span {
    display: inline;
}

/*Money position*/
.total{
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #ececec; /*Line in Cart*/
    padding: 20px;
    font-size: 18px;
   padding-top: 20px;
   padding-right: 20px;
   margin-top: auto;
}

.total-price{
    margin-left: 10px;
    font-weight: 600;
}

.btn-buy{
    display: block;
    width: calc(100% - 40px);
    padding: 14px;
    background: #E5A484;
    border: none;
    border-radius: 14px;
    font-size: 17px;
    font-weight: 600;
    color: #fff;
    margin: 25px auto 0;
    cursor: pointer;
    transition: .25s ease;
}

.btn-buy:hover{
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(229,164,132,.45);
}
.btn-buy:active{
    transform: translateY(0) scale(.98);
}

.flying-image{
    position: fixed;
    width: 80px;
    height: 80px;
    border-radius: 12px;
    object-fit: cover;

    pointer-events: none;

    z-index: 100001;

    transition:
        left .65s cubic-bezier(.25,.8,.25,1),
        top .65s cubic-bezier(.25,.8,.25,1),
        width .65s ease,
        height .65s ease,
        opacity .65s ease;
}

.cart-empty{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:60px 25px;
    color:#888;
}

.continue-shopping{
    margin-top:25px;
    padding:12px 28px;
    border:none;
    border-radius:30px;

    background:#E5A484;
    color:white;

    font-size:15px;
    font-weight:600;

    cursor:pointer;
    transition:background-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

/*CLOSE IMAGE*/
#cart-close{
    width: 25px;
    display:block;
    cursor: pointer;
}

.cart-header-actions{position:absolute;top:25px;right:24px;z-index:4;display:flex;align-items:center;gap:10px;}
.cart-menu-toggle,.cart-close-button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;background:transparent;cursor:pointer;}
.cart-menu-toggle img{width:25px;height:25px;display:block;object-fit:contain;transform:translateY(1px);}
.cart-menu-toggle img{transition:transform .25s ease,opacity .25s ease;}
.cart-menu-toggle:hover img{transform:translateY(-2px) scale(1.08);opacity:.8;}
.cart-menu-toggle:active img{transform:translateY(1px) scale(.92);}
.cart-close-button #cart-close{width:22px;height:22px;padding:0;box-sizing:border-box;object-fit:contain;opacity:1;}
.cart-actions-menu{position:absolute;top:42px;right:38px;min-width:150px;width:max-content;padding:6px;border:1px solid #ececec;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(51,51,51,.16);}
.cart-actions-menu[hidden]{display:none;}
.cart-actions-menu button{width:100%;min-height:40px;padding:11px 12px;border:0;border-radius:7px;background:transparent;color:#333;font:inherit;line-height:1;text-align:left;white-space:nowrap;cursor:pointer;display:flex;align-items:center;gap:9px;}
.cart-actions-menu button:hover,.cart-actions-menu button:focus-visible{background:#f5f5f5;outline:none;}
.cart-actions-menu .cart-delete-all{color:#b33939;}
.cart-actions-menu button img{width:16px;height:16px;flex:0 0 16px;display:block;object-fit:contain;transform:translateY(-2px);}

.wishlist-header-actions{position:absolute;top:25px;right:24px;z-index:4;display:flex;align-items:center;gap:10px;}
.wishlist-menu-toggle,.wishlist-close-button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;background:transparent;cursor:pointer;}
.wishlist-menu-toggle img{width:25px;height:25px;display:block;object-fit:contain;transform:translateY(1px);transition:transform .25s ease,opacity .25s ease;}
.wishlist-menu-toggle:hover img{transform:translateY(-2px) scale(1.08);opacity:.8;}
.wishlist-menu-toggle:active img{transform:translateY(1px) scale(.92);}
.wishlist-header-actions #wishlist-close{position:static;width:22px;height:22px;padding:0;box-sizing:border-box;object-fit:contain;opacity:1;}
.wishlist-actions-menu{position:absolute;top:42px;right:38px;min-width:165px;width:max-content;padding:6px;border:1px solid #ececec;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(51,51,51,.16);}
.wishlist-actions-menu[hidden]{display:none;}
.wishlist-actions-menu button{width:100%;min-height:40px;padding:11px 12px;border:0;border-radius:7px;background:transparent;color:#333;font:inherit;line-height:1;text-align:left;white-space:nowrap;cursor:pointer;display:flex;align-items:center;gap:9px;}
.wishlist-actions-menu button:hover,.wishlist-actions-menu button:focus-visible{background:#f5f5f5;outline:none;}
.wishlist-actions-menu button img{width:16px;height:16px;flex:0 0 16px;display:block;object-fit:contain;transform:translateY(-2px);}

@media screen and (min-width:601px) and (max-width:1440px){
    .cart-header-actions{right:27px;}
}

#cart-close,
#wishlist-close{
    transition:transform .25s ease, opacity .25s ease;
}

@media screen and (max-width:600px){
    .cart-header-actions{top:13px;right:27px;gap:9px;}
    .wishlist-header-actions{top:13px;right:27px;gap:9px;}
    .cart-menu-toggle,.cart-close-button{width:36px;height:36px;padding:0;}
    .wishlist-menu-toggle,.wishlist-close-button{width:36px;height:36px;padding:0;}
    .cart-menu-toggle img{width:25px;height:25px;}
    .cart-close-button #cart-close{width:22px;height:22px;padding:0;box-sizing:border-box;opacity:1;}
}

#cart-close:hover,
#wishlist-close:hover{
    transform:translateY(-2px) scale(1.08);
    opacity:.8;
}

#cart-close:active,
#wishlist-close:active{
    transform:scale(.92);
}

#search-close:active{
    transform:translateY(-50%) scale(.92);
}

.continue-shopping:hover{
    background:#d99273;
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(229,164,132,.26);
}

.continue-shopping:active{
    transform:scale(.97);
}

.empty-cart-icon{
    width:70px;
    opacity:.25;
    margin-bottom:18px;
}

/*Numbers in cart*/
.cart-quantity .number {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    border-left: 1px solid #999;
    border-right: 1px solid #999;
    cursor: default;
}

.increment:hover{
    background: rgba(229,164,132,.18);
    color:#E5A484;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}

.decrement:hover{
    background: rgba(229,164,132,.18);
    color:#E5A484;
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}

.cart-quantity button:active{
    background: #E5A484;
    color: white;
    transform: scale(.95);
}

.cart-quantity .quantity{
    color: #999;

}






.product-rating{
    display:flex;
    align-items:center;
    gap:8px;
    margin:10px 0 14px;
}

.stars{
    color:#D4AF37; /* Luxury gold */
    font-size:16px;
    letter-spacing:2px;
    line-height:1;
}

.rating-text{
    color:#6E6E6E;
    font-size:14px;
    font-weight:500;
}

.product-reviews{
    grid-column:1;
    grid-row:2;
    width:100%;
    padding:28px 0 150px;
}

@media (min-width:601px){
    .product-layout > .product-reviews{
        grid-column:1 / -1;
        grid-row:2;
    }
}

.product-info > .product-reviews{
    padding:28px 24px 150px;
}

@media (min-width:901px){
    .product-info > .product-reviews{
        padding-bottom:0;
    }

    .product-layout > .related-products{
        grid-column:1 / -1;
        grid-row:2;
        width:100%;
        padding-bottom:150px;
    }
}

.product-gallery > .product-benefits{
    margin-top:40px;
    margin-left:114px;
    padding:0;
}

.product-gallery > .related-products{
    margin-left:114px;
}

.product-reviews-inner{
    width:100%;
    max-width:1200px;
    margin:0 auto;
}

.product-rating[hidden],
.reviews-heading[hidden],
.reviews-panel[hidden],
.product-modal-reviews[hidden]{
    display:none!important;
}

.reviews-loading-placeholder{
    display:none;
}

.reviews-loading-state .reviews-loading-placeholder{
    display:block;
}

.reviews-loading-state .reviews-heading,
.reviews-loading-state .review-list,
.reviews-loading-state .reviews-read-more{
    display:none!important;
}

.reviews-panel{
    margin-top:18px;
    padding:28px;
    border:1px solid #e8e8e8;
    border-radius:24px;
    background:#fff;
    box-shadow:0 12px 30px rgba(0,0,0,.04);
}

.reviews-loading-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:18px;
}

.reviews-loading-kicker,
.reviews-loading-title,
.reviews-loading-summary,
.reviews-loading-name,
.reviews-loading-stars,
.reviews-loading-line,
.reviews-loading-date{
    border-radius:999px;
}

.reviews-loading-kicker{width:116px;height:9px;margin-bottom:9px}
.reviews-loading-title{width:104px;height:25px}
.reviews-loading-summary{width:174px;height:22px}

.reviews-loading-cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:30px;
}

.reviews-loading-card{
    min-height:174px;
    padding:22px;
    border:1px solid #e6e6e6;
    border-radius:16px;
    background:#fff;
}

.reviews-loading-name{width:42%;height:15px;margin-bottom:14px}
.reviews-loading-stars{width:112px;height:13px;margin-bottom:18px}
.reviews-loading-line{width:100%;height:11px;margin-bottom:9px}
.reviews-loading-line.is-short{width:68%}
.reviews-loading-date{width:78px;height:9px;margin-top:17px}

.reviews-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:18px;
}

.reviews-kicker{
    margin:0 0 6px;
    color:#999;
    font-size:10px;
    font-weight:600;
    letter-spacing:1.25px;
    text-transform:uppercase;
}

.reviews-heading h1,
.reviews-heading h2{
    margin:0;
    color:#333;
    font-size:28px;
}

.reviews-summary{
    display:flex;
    align-items:center;
    gap:8px;
    color:#777;
    font-size:14px;
}

.reviews-summary-score{
    color:#333;
    font-size:22px;
    font-weight:600;
}

.reviews-summary-stars{
    font-size:16px;
}

.reviews-summary-stars,
.review-card-stars{
    color:#d4af37;
    letter-spacing:2px;
}

.review-compose{
    margin:30px 0;
    padding:24px;
    border:1px solid #e4e4e4;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 30px rgba(0,0,0,.04);
}

.review-compose[hidden]{
    display:none;
}

#review-form{
    margin-top:0;
}

#review-form fieldset{
    margin:0 0 18px;
    padding:0;
    border:0;
}

#review-form legend,
#review-form label{
    display:block;
    margin-bottom:8px;
    color:#444;
    font-weight:600;
}

.review-star-picker{
    display:flex;
    gap:4px;
}

.review-star{
    padding:0;
    border:0;
    background:transparent;
    color:#d8d8d8;
    font-size:30px;
    cursor:pointer;
    transition:color .18s ease, transform .18s ease;
}

.review-star:hover,
.review-star.selected{
    color:#d4af37;
}

.review-star:active{
    transform:scale(.9);
}

#review-text{
    display:block;
    width:100%;
    min-height:120px;
    padding:14px 16px;
    resize:vertical;
    border:1px solid #ddd;
    border-radius:12px;
    color:#333;
    font:inherit;
    outline:none;
}

#review-text:focus{
    border-color:#E5A484;
    box-shadow:0 0 0 3px rgba(229,164,132,.15);
}

.review-submit{
    margin-top:14px;
    padding:12px 24px;
    border:0;
    border-radius:999px;
    background:#333;
    color:#fff;
    font:inherit;
    font-weight:600;
    cursor:pointer;
}

.review-submit:disabled{
    cursor:wait;
    opacity:.6;
}

.review-list{
    display:flex;
    flex-direction:column;
    gap:0;
}

.reviews-read-more{
    display:block;
    margin:24px auto 0;
    padding:10px 22px;
    border:1px solid #ddd;
    border-radius:999px;
    background:#fff;
    color:#555;
    font:inherit;
    cursor:pointer;
    transition:border-color .2s ease, color .2s ease, transform .2s ease;
}

.reviews-read-more:hover{
    border-color:#E5A484;
    color:#a96545;
    transform:translateY(-1px);
}

.reviews-read-more[hidden]{
    display:none;
}

.related-products{
    margin-top:56px;
}

.related-products-loading-placeholder{
    display:none;
}

.related-products-loading-state .related-products-loading-placeholder{
    display:block;
}

.related-products-loading-state > h2,
.related-products-loading-state > .related-products-grid{
    display:none;
}

.related-products-loading-heading{
    width:190px;
    height:23px;
    margin-bottom:22px;
    border-radius:999px;
}

.related-products-loading-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:16px;
}

.related-products-loading-card{
    padding:10px;
    border:1px solid #ececec;
    border-radius:16px;
    background:#fff;
}

.related-products-loading-card span:nth-child(1){width:100%;aspect-ratio:1/1;border-radius:12px}
.related-products-loading-card span:nth-child(2){width:76%;height:12px;margin-top:10px;border-radius:999px}
.related-products-loading-card span:nth-child(3){width:48%;height:9px;margin-top:7px;border-radius:999px}

.related-products h2{
    margin:0 0 22px;
    color:#333;
    font-size:24px;
    font-weight:600;
}

.related-products-grid{
    justify-content:center;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px, 280px));
    gap:30px;
}

.related-products-grid .product-box{
    min-width:0;
    display:flex;
    flex-direction:column;
    background:#fff;
    border-radius:14px;
    padding:12px;
    transition:transform .3s ease, box-shadow .3s ease;
    border:1px solid #f2f2f2;
    cursor:pointer;
}

.related-products-grid .product-box:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 30px rgba(0, 0, 0, .10);
}

.related-products-grid .product-box .img-box{
    position:relative;
    display:flex;
    width:100%;
    aspect-ratio:2 / 3;
    border-radius:10px;
    overflow:hidden;
    background:#f8f8f8;
}

.related-products-grid .img-box img{
    width:100%;
    height:auto;
    transition:0.5s;
}

html.site-loading-enabled .product-box .img-box img.site-image-ready{
    transition:0.5s;
}

.related-products-grid .product-box .img-box > img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.related-products-grid .img-box:hover img{
    transform:scale(1.05);
}

.related-products-grid .product-box .product-title{
    font-size:18px;
    font-weight:600;
    margin-top:10px;
    margin-bottom:3px;
    line-height:1.4;
    display:block;
    width:100%;
    max-width:100%;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.related-products-grid .product-box .price-and-cart{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:auto;
}

.related-products-grid .price-and-cart .price{
    font-size:15px;
    font-weight:500;
    color:#666;
}

.related-products-grid .price-and-cart .addie{
    padding:10px;
    background:#E5A484;
    border-radius:12px;
    width:35px;
    color:#fff;
    cursor:pointer;
    transition:transform .18s ease, boxshadow .25s ease, background-color .25s ease;
}

.related-products-grid .price-and-cart .addie:hover{
    transform:translateY(-2px) scale(1.08);
    box-shadow:0 8px 18px rgba(229, 164, 132, .35);
}

.related-products-grid .price-and-cart .addie:active{
    transform:scale(.92);
}

.related-products-grid .wishlist-btn{
    position:absolute;
    top:12px;
    left:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    padding:0;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.95);
    box-shadow:0 6px 18px rgba(0,0,0,.12);
    cursor:pointer;
    transition:.25s ease;
    z-index:2;
}

.related-products-grid .wishlist-icon{
    display:block;
    width:18px;
    height:18px;
    object-fit:contain;
    transform:translate(0, 1px);
    transition:.25s ease;
}

.related-products-grid .wishlist-btn:hover{
    transform:scale(1.08);
    box-shadow:0 6px 18px rgba(0,0,0,.12);
}

.related-products-grid .wishlist-btn:active{
    transform:scale(.92);
}

html.product-modal-open,
body.product-modal-open{overflow:hidden}

.product-modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);backdrop-filter:none;-webkit-backdrop-filter:none;opacity:0;visibility:hidden;transition:.3s ease;z-index:99998}
.product-modal-overlay.active{opacity:1;visibility:visible}
.product-modal{width:min(94vw,700px);background:#fff;border:1px solid #d9d9d9;border-radius:26px;padding:26px 26px 48px;box-shadow:0 20px 45px rgba(0,0,0,.18);transform:scale(.96);transition:transform .3s ease}
.product-modal-overlay.active .product-modal{transform:scale(1)}
.product-modal-top,.product-modal-options-group{box-sizing:border-box;border:1px solid #dedede;background:linear-gradient(145deg,#fff,#f0f0f0);box-shadow:0 3px 8px rgba(0,0,0,.06)}
.product-modal-top{display:flex;align-items:stretch;gap:18px;padding:16px;border-radius:20px}.product-modal-left{flex:0 0 130px}.product-modal-right{display:flex;flex:1 1 auto;align-self:stretch;flex-direction:column;justify-content:space-between;gap:0;min-width:0;height:auto}.product-modal-image-link{display:block;width:fit-content;cursor:pointer}.product-modal-image{display:block;box-sizing:border-box;width:160px;height:160px;margin:0;border:1px solid #e1e1e1;border-radius:18px;object-fit:cover}.product-modal-title-link{display:block;flex:1;min-width:0;color:inherit;text-decoration:none;cursor:pointer}.product-modal-title{margin:0;font-size:24px;line-height:1.2;font-weight:600}.product-modal-header,.product-modal-price,.product-modal-description-row{flex:0 0 auto;margin:0}.product-modal-price{display:block;color:#E5A484;font-size:16px;font-weight:600}.product-modal-reviews{display:flex;align-items:center;flex-wrap:nowrap;gap:5px;min-width:0;color:#6e6e6e;font-size:13px;line-height:1;white-space:nowrap}.product-modal-review-stars{flex:0 0 auto;color:#d4af37;font-size:15px;letter-spacing:.5px}.product-modal-review-summary{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.product-modal-description-row{display:flex;align-items:baseline;flex-wrap:nowrap;gap:0;min-width:0;max-width:100%}.product-modal-description{display:inline-block;flex:0 1 max-content;min-width:0;width:max-content;max-width:calc(100% - 84px);margin:0;overflow:hidden;color:#666;line-height:1.6;text-overflow:clip;white-space:nowrap}.product-modal-read-more{display:inline-block;flex:0 0 auto;margin:0;color:#a8a8a8;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.product-modal-read-more::before{content:"... "}.product-modal-read-more:hover,.product-modal-read-more:focus-visible,.product-modal-read-more:active{color:#E5A484}
.product-modal-options-group{margin-top:48px;padding:16px;border-radius:20px}.product-modal-options-dynamic,.product-modal-option-group{display:flex;flex-direction:column}.product-modal-option-group{align-items:flex-start;margin:0}.product-modal-option-group h3{margin:0 0 10px;font-size:16px;font-weight:600;color:#444}.product-modal-option-values{display:flex;flex-wrap:wrap;gap:10px;width:100%}.product-modal-option-values.has-one-option{width:auto}.product-modal-option-btn{padding:10px 18px;border:1px solid #e8e8e8;border-radius:999px;background:#fff;color:#444;font:inherit;font-size:14px;cursor:pointer;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.product-modal-option-btn:hover{transform:translateY(-2px);border-color:#E5A484;box-shadow:0 6px 14px rgba(0,0,0,.08)}.product-modal-option-btn.active{background:#E5A484;border-color:#E5A484;color:#fff}.product-modal-section-divider{display:block;width:100%;height:1px;margin:20px 0;background:linear-gradient(to right,#E4E4E4 12%,#E4E4E4 88%,transparent)}
.product-modal-actions{display:flex;align-items:center;gap:12px;margin-top:48px}.product-modal-favorite{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:52px;min-width:52px;height:52px;padding:0;margin:0;position:relative;border:1px solid #e8e8e8;border-radius:50%;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.08);color:inherit;cursor:pointer;transition:all .25s ease}.product-modal-favorite:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.12)}.product-modal-favorite:active{transform:scale(.94)}.product-modal-favorite span{display:none}.product-modal-favorite-icon{display:block;width:100%;height:100%;object-fit:contain}.product-modal-actions .product-modal-cart{flex:1 1 auto;width:auto;margin:0}.product-modal-cart{padding:14px;border:1px solid #d98d69;border-radius:12px;background:#E5A484;box-shadow:0 3px 8px rgba(201,133,98,.14);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:.25s ease}.product-modal-cart:hover{transform:translateY(-2px)}.product-modal-cart:active{transform:translateY(1px);box-shadow:0 1px 3px rgba(201,133,98,.12)}

@media screen and (min-width:601px) and (max-width:1200px){.product-modal{width:min(86vw,560px);padding:20px 20px 48px}.product-modal-left{flex-basis:120px}.product-modal-image{width:120px;height:120px}.product-modal-right{height:120px}.product-modal-title{font-size:22px}.product-modal-description{font-size:13px;line-height:1.3}.product-modal-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media screen and (min-width:1024px) and (max-width:1200px){.product-modal{width:min(50vw,320px);padding:12px 12px 18px;border-radius:18px}.product-modal-top{padding:8px;gap:10px}.product-modal-left{flex-basis:76px}.product-modal-image,.product-modal-right{height:76px}.product-modal-image{width:76px}.product-modal-options-group{margin-top:18px;padding:8px;border-radius:14px}.product-modal-actions{margin-top:18px}}
@media screen and (max-width:600px){.product-modal-overlay{padding:10px}.product-modal{width:min(92vw,360px);max-height:calc(100dvh - 20px);overflow:auto;padding:18px 12px 26px;border-radius:26px}.product-modal-top{gap:10px;padding:10px;border-radius:20px}.product-modal-left{flex-basis:100px}.product-modal-image{width:100px;height:100px}.product-modal-right{align-self:center;height:90px}.product-modal-title{font-size:18px}.product-modal-price{font-size:14px}.product-modal-description,.product-modal-read-more{font-size:12px}.product-modal-review-stars{font-size:11px;letter-spacing:0}.product-modal-review-summary{font-size:10px}.product-modal-options-group{margin-top:20px;padding:10px;border-radius:20px}.product-modal-option-group h3{margin-bottom:7px;font-size:14px}.product-modal-option-values{gap:7px}.product-modal-option-btn{padding:7px 12px;font-size:12px}.product-modal-section-divider{margin:14px 0}.product-modal-actions{gap:9px;margin-top:20px}.product-modal-favorite{width:44px;min-width:44px;height:44px}.product-modal-actions .product-modal-cart{padding:11px;font-size:14px}}

.review-list:not(:empty){
    margin-top:14px;
}

.review-card{
    padding:18px 0;
    border-bottom:1px solid #ececec;
    background:transparent;
}

.review-card:first-child{
    padding-top:0;
}

.review-card:last-child{
    padding-bottom:0;
    border-bottom:0;
}

.review-card-header{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap:0;
    margin-bottom:4px;
}

.review-client-details{
    display:grid;
    width:100%;
    min-width:0;
    gap:3px;
}

.review-client-name{
    display:flex;
    align-items:center;
    min-width:0;
}

.review-client-name strong{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.verified-purchase{
    width:14px;
    height:14px;
    margin-left:4px;
    object-fit:contain;
    flex:0 0 auto;
    align-self:center;
}

.review-card-header .review-card-stars{
    flex:0 0 auto;
    margin-left:6px;
    line-height:1;
}

.review-card-header .review-update-button{
    flex:0 0 auto;
    margin:0 0 0 8px;
    padding:5px 12px;
    font-size:11px;
    line-height:1;
}

.review-client-name .review-purchase-date{
    display:inline-block;
    flex:0 0 auto;
    margin:0 0 0 auto;
    padding-left:12px;
    color:#999;
    font-size:12px;
    line-height:1;
    white-space:nowrap;
}

.review-purchased-item{
    display:block;
    max-width:100%;
    overflow:hidden;
    color:#8a817c;
    font-size:12px;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.review-card p{
    margin:0 0 12px;
    color:#555;
    line-height:1.6;
    overflow-wrap:anywhere;
}

.review-preview-text{
    margin-bottom:12px;
    overflow:hidden;
}

.review-more-link{
    display:inline;
    color:#a96545;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
    text-decoration:none;
}

.review-more-link[hidden]{
    display:none;
}

.review-more-link:hover{
    color:#E5A484;
}

.review-update-button{
    display:inline-block;
    margin-top:12px;
    padding:7px 14px;
    border:1px solid #ddd;
    border-radius:999px;
    background:#fff;
    color:#555;
    font:inherit;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    transition:border-color .2s ease, color .2s ease;
}

.review-update-button:hover{
    border-color:#E5A484;
    color:#a96545;
}

.review-attachment-image{
    display:block;
    width:100%;
    max-height:280px;
    margin-top:14px;
    border-radius:12px;
    object-fit:cover;
}

.review-attachment-file{
    display:inline-block;
    margin-top:12px;
    color:#a96545;
    font-weight:600;
    text-decoration:none;
}

.product-reviews-page{
    width:min(1040px, calc(100% - 32px));
    margin:0 auto;
    padding:128px 0 140px;
}

@media screen and (max-width:1200px){
    .product-reviews-page{
        width:100%;
        max-width:none;
        padding:128px 9% 140px;
    }
}

.product-reviews-page .product-reviews{
    padding:0;
}

.product-reviews-full .product-reviews-inner{
    max-width:100%;
}

.product-reviews-page-title{
    display:inline-block;
    color:#E5A484;
    font-size:31px;
    font-weight:800;
    letter-spacing:2px;
    text-decoration:none;
    transition:.25s ease;
}

.product-reviews-page-title:hover{
    color:#E5A484;
    transform:scale(1.02);
}

.product-page-header-inner:has(.product-reviews-page-title){
    position:relative;
    justify-content:center;
}

.product-page-header-inner:has(.product-reviews-page-title) .product-reviews-back{
    position:absolute;
    left:0;
}

.product-reviews-name{
    margin:6px 0 0;
    color:#777;
    font-size:15px;
}

.product-reviews-empty{
    margin:0;
    color:#777;
    line-height:1.6;
}

@media (max-width:600px){
    .product-reviews{
        grid-column:1;
        grid-row:auto;
        padding:20px 48px 140px;
    }

    .reviews-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .reviews-loading-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .reviews-loading-cards{
        grid-template-columns:1fr;
    }

    .reviews-summary{
        flex-wrap:wrap;
    }

    .reviews-panel{
        margin-top:14px;
        padding:18px;
        border-radius:18px;
    }

    .review-compose{
        padding:18px;
        margin-bottom:14px;
        border-radius:14px;
    }

    .related-products-loading-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .related-products-loading-card:nth-child(3){
        display:none;
    }
}

@media (min-width:601px) and (max-width:900px){
    .product-reviews{
        padding-top:22px;
    }

    .product-gallery > .product-benefits{
        margin-top:32px;
        margin-left:90px;
    }

    .product-gallery > .related-products{
        margin-left:90px;
    }

    .reviews-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .reviews-summary{
        flex-wrap:wrap;
    }

    .reviews-panel{
        margin-top:16px;
        padding:22px;
        border-radius:20px;
    }

    .review-compose{
        padding:16px;
    }
}

@media (min-width:601px) and (max-width:1023px){
    .related-products-loading-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }
}

@media screen and (min-width:601px) and (max-width:1200px){
    .product-reviews-page-title{
        font-size:27px;
    }
}

@media screen and (max-width:600px){
    .product-reviews-page-title{
        font-size:24px;
        letter-spacing:1.5px;
    }
}

@media (min-width:1024px) and (max-width:1399px){
    .related-products-loading-grid{
        grid-template-columns:repeat(4, minmax(0, 1fr));
    }
}

@media (min-width:1400px){
    .related-products-loading-grid{
        grid-template-columns:repeat(5, minmax(0, 1fr));
    }
}

@media (max-width:600px){
    .related-products-grid{
        width:100%;
        min-width:0;
        grid-template-columns:repeat(2, 1fr);
        gap:16px;
    }

    .related-products-grid .product-box,
    .related-products-grid .product-box .img-box,
    .related-products-grid .product-box .price-and-cart{
        width:100%;
        min-width:0;
        max-width:100%;
    }

    .related-products-grid .product-box{
        padding:8px;
    }

    .related-products-grid .product-box .product-title{
        margin-top:6px;
    }

    .related-products-grid .price-and-cart .price{
        font-size:16px;
    }

    .related-products-grid .price-and-cart .addie{
        width:28px;
        padding:8px;
        border-radius:10px;
    }

    .related-products-grid .wishlist-btn{
        top:10px;
        left:10px;
        width:34px;
        height:34px;
    }

    .related-products-grid .wishlist-icon{
        width:16px;
        height:16px;
    }
}

@media (min-width:601px) and (max-width:1023px){
    .related-products-grid{
        grid-template-columns:repeat(4, minmax(0, 1fr));
        gap:18px;
    }

    .related-products-grid .price-and-cart .price{
        font-size:14px;
        white-space:nowrap;
    }

    .related-products-grid .price-and-cart .addie{
        width:24px;
        padding:5px;
        border-radius:8px;
    }

    .related-products-grid .wishlist-btn{
        top:8px;
        left:8px;
        width:28px;
        height:28px;
    }

    .related-products-grid .wishlist-icon{
        width:13px;
        height:13px;
    }
}

@media (min-width:1024px){
    .related-products-grid{
        grid-template-columns:repeat(5, minmax(0, 220px));
    }
}

.purchase-pill{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    background:#000;
    border-radius:999px;
    height:58px;
    padding:0 22px;
    width:320px;
}

.product-bottom-cart{
    border:none;
    background:transparent;
    color:#fff;
    font-size:17px;
    font-weight:600;
    cursor:pointer;
    white-space:nowrap;
    flex:0 0 auto;
    text-align:left;
}

.product-bottom-cart:hover{
    background:rgba(255,255,255,.05);
}

.product-bottom-cart:active{
    background:rgba(255,255,255,.09);
}


.quantity-selector{
    display:flex;
    align-items:center;
    background:transparent;
    border:none;
    height:100%;
    padding-left:8px;
    gap:12px;
    margin-left:auto;
}

.quantity-selector button{
    border:none;
    background:transparent;
    color:#fff;
    font-size:26px;
    cursor:pointer;
    width:28px;
    transition:.2s ease;
}

.quantity-selector button:focus{
    outline:none !important;
    box-shadow:none !important;
}

.quantity-selector button:focus-visible{
    outline:none !important;
    box-shadow:none !important;
}

.quantity-selector button:hover{
    transform:scale(1.15);
}

.quantity-selector button:active{
    transform:scale(.9);
}

.quantity-value{
    color:#fff;
    font-size:18px;
    font-weight:600;
    min-width:20px;
    text-align:center;
}

.product-bottom-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex:0 0 auto;
}

.product-bottom-favorite,
.product-bottom-share{
    width:52px;
    min-width:52px;
    height:52px;

    display:flex;
    justify-content:center;
    align-items:center;

    background:#fff;

    border:1px solid #e8e8e8;
    border-radius:100%;

    box-shadow:0 6px 18px rgba(0,0,0,.08);

    padding:0;
    position:relative;

    cursor:pointer;

    transition:all .25s ease;

    flex-shrink:0;
}

.product-bottom-favorite:hover,
.product-bottom-share:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.product-bottom-favorite span{
    display:none;
}

.product-bottom-favorite-icon{
    width:100%;
    height:100%;
    display:block;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    object-fit:contain;
}

.product-bottom-share-icon{
    display:block;
    width:24px;
    height:24px;
    object-fit:contain;
    position:static;
    transform:none;
    margin:0;
}

.product-bottom-share{
    display:grid;
    place-items:center;
    line-height:0;
}

.product-bottom-share:active{
    transform:scale(.94);
}

@keyframes productHeartPop{
    0%{
        transform:translate(-50%, -50%) scale(1);
    }

    50%{
        transform:translate(-50%, -50%) scale(.8);
    }

    100%{
        transform:translate(-50%, -50%) scale(1.15);
    }
}

.product-bottom-favorite-icon.heart-pop{
    animation:productHeartPop .25s ease;
}


@media (max-width: 480px) {

    .product-bottom-bar{
        padding: 0 14px;
        gap: 10px;
    }

    .product-bottom-left{
        gap: 10px;
    }

    .product-bottom-price{
        font-size: 21px;
    }

    .quantity-selector{
        width: 82px;
    }

    .quantity-selector button{
        width: 24px;
        font-size: 18px;
    }

    .quantity-value{
        width: 34px;
        font-size: 15px;
    }

    .product-bottom-cart{
        min-width: 120px;
        padding: 14px 18px;
        font-size: 15px;
    }

}

.section-divider{
    width:100%;
    height:1px;
    margin:12px 0px;

    background:linear-gradient(
        to right,
        #E4E4E4 12%,
        #E4E4E4 88%,
        transparent
    );

}

.section-divider-bottom{

    margin-top:40px;

}

@media (min-width:601px){
    .product-sizes + .section-divider{
        margin-top:28px;
        margin-bottom:0;
    }
}

.search-bar{
    position: fixed;
    top: 88px;
    left: 0;

    width: 100%;
    padding: 0 25px;

    background: white;

    box-sizing: border-box;

    max-height: 0;
    overflow: hidden;

    opacity: 0;

    z-index: 999;

    transition: all .35s ease;
}

.search-bar.active{
    max-height: 100px;
    padding: 15px 25px;

    opacity: 1;
}

.search-input-wrapper{
    position: relative;
    width: 100%;
}

#search-input{
    width:100%;
    padding:14px 48px 14px 18px;

    border:1px solid #ddd;
    border-radius:30px;

    outline:none;

    font-size:15px;

    transition:.25s ease;
}

#search-input:focus{
    border-color:#E5A484;
    box-shadow:0 0 10px rgba(229,164,132,.25);
}

#search-close{
    position:absolute;

    right:24px;
    top:50%;

    transform:translateY(-50%);

    width:16px;

    cursor:pointer;

    opacity:.6;

    transition:.25s ease;

    z-index:2;
}

#search-close:hover{
    opacity:1;
    transform:translateY(-50%) scale(1.08);
}

#search-close:active{
    transform:translateY(-50%) scale(.92);
}

.product-benefits{
    display:flex;
    flex-direction:column;
    gap:14px;
    padding:0 24px;
    margin-top:30px;
}

.benefit-item{
    position:relative;
    display:flex;
    align-items:flex-start;
    gap:16px;
    padding:18px;
    background:#fafafa;
    border:1px solid #efefef;
    border-radius:18px;
}

.benefit-item:has(> .benefit-icon:not(.site-image-ready):not(.site-image-error))::before{
    content:"";
    position:absolute;
    top:18px;
    left:18px;
    z-index:2;
    width:22px;
    height:22px;
    border-radius:6px;
    background:linear-gradient(100deg,#e6e6e6 28%,#fafafa 48%,#e6e6e6 68%);
    background-size:260% 100%;
    animation:benefit-icon-loading-shimmer 1.3s ease-in-out infinite;
    pointer-events:none;
}

@keyframes benefit-icon-loading-shimmer{
    from{background-position:100% 0}
    to{background-position:-100% 0}
}

@media (prefers-reduced-motion:reduce){
    .benefit-item:has(> .benefit-icon:not(.site-image-ready):not(.site-image-error))::before{
        animation:none;
    }
}


.benefit-item span{
    font-size:22px;
}

.benefit-item .benefit-icon{
    flex:0 0 auto;
    width:22px;
    height:22px;
    object-fit:contain;
}

.benefit-item .benefit-icon-truck{
    transform:scale(1.25);
}

.benefit-item strong{
    display:block;
    margin-bottom:4px;
}

.benefit-item p{
    font-size:14px;
    line-height:1.6;
    color:#777;
}

.product-title-section,
.product-description-section,
.product-colors,
.product-sizes,
.product-option-group{
    padding:0 24px;
}


/* ==========================================
   PHONE PRODUCT PAGE
========================================== */

@media (max-width:600px){
    .product-options-panel{
        margin:4px 24px 14px;
        width:auto;
        padding:20px 0;
        border-radius:16px;
    }

    .product-options-panel:not(.options-ready){
        min-height:225px;
    }

    .product-options-loading{
        padding:0 16px;
    }

    .product-option-loading-values{
        gap:8px;
    }

    .product-option-loading-values span{
        width:70px;
        height:42px;
    }

    .product-option-loading-values.is-size-row span{
        width:52px;
    }

    .product-options-panel .product-colors,
    .product-options-panel .product-sizes,
    .product-options-panel .product-option-group{
        padding:0 16px;
    }

    .product-options-panel > .section-divider,
    .product-option-divider{
        width:auto;
        max-width:calc(100% - 48px);
        margin:20px 24px;
        box-sizing:border-box;
    }

    .cart,
.wishlist{
    width:100%;
}
    .product-title-section{
        margin-top:12px;
        margin-bottom:8px;
    }

    .product-layout{
        grid-template-columns:1fr;
        gap:28px;
        max-width:100%;
    }

    .product-details{
        padding:72px 0 0;
    }

    .product-gallery-wrapper{
        display:block;
        position:relative;
    }

    .product-page{
        padding:0;
        margin:86px 0 100px;
    }

 .product-gallery{
    width:100%;
    max-width:100%;
    margin-bottom:0;
}

.product-slide img{
    width:100%;
    height:100%;
    max-height:none;
    object-fit:contain;
    object-position:center;
    display:block;
    border-radius:0;
}

.product-slider-track,
.product-slide{
    height:100%;
}

.product-slider-track{
    position:relative;
    z-index:1;
}

.product-thumbnails{
    position:absolute;
    left:50%;
    bottom:18px;
    transform:translateX(-50%);
    display:flex;
    flex-direction:row;      /* ← add this */
    justify-content:center;  /* ← add this */
    align-items:center;
    gap:8px;
    padding:6px 10px;
    background: rgba(255,255,255,.38);
    border: 1px solid rgba(255,255,255,.55);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-radius:999px;

    box-shadow:
    0 12px 30px rgba(0,0,0,.18),
    0 0 0 1px rgba(255,255,255,.15);
    z-index:10;
}

.product-thumbnails.thumbnails-loading-state{
    min-width:114px;
    min-height:38px;
    overflow:hidden;
    background:#e6e6e6;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}

.product-thumbnails.thumbnails-loading-state > *{
    visibility:hidden;
}

.product-thumbnails.thumbnails-loading-state::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:20;
    border-radius:inherit;
    background:#e6e6e6;
    pointer-events:none;
}

.product-thumbnails.thumbnails-loading-state::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:-50%;
    z-index:21;
    width:45%;
    border-radius:inherit;
    background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.82),rgba(255,255,255,0));
    animation:product-thumbnail-loading-shimmer 1.3s ease-in-out infinite;
    pointer-events:none;
}

@keyframes product-thumbnail-loading-shimmer{
    from{transform:translateX(0)}
    to{transform:translateX(350%)}
}

@media (prefers-reduced-motion:reduce){
    .product-thumbnails.thumbnails-loading-state::after{
        animation:none;
    }
}

.product-thumbnails::-webkit-scrollbar{
    display:none;
    }

.product-image-container{
    width:100%;
    height:auto;
    max-height:none;
    aspect-ratio:1 / 1;
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border-radius:0;
    background:transparent;
}

.product-image-container::before{
    content:"";
    position:absolute;
    inset:-20px;
    z-index:0;
    background-image:var(--mobile-gallery-image);
    background-position:center;
    background-size:cover;
    filter:blur(18px) saturate(.85);
    opacity:.55;
    transform:scale(1.06);
}

 .product-thumbnail{
    width:26px;
    height:26px;
    flex-shrink:0;

    border-radius:100%;

    border:none;
    background: rgba(255,255,255,.15);

    overflow:hidden;

    box-shadow:none;

    transition:.25s ease;
}

.product-thumbnail.active{
    transform: translateY(-2px);

    box-shadow:0 10px 24px rgba(0,0,0,.22);
    border: 1.5px solid rgba(255, 255, 255, 0.651);
}

    .product-info{
        padding:0 24px;
    }

    .product-page-title{
        font-size:28px;
        line-height:1.08;
        letter-spacing:-0.8px;
        margin-bottom:18px;
    }

    .product-page-price{
        font-size:22px;
        font-weight:700;
    }

    .product-page-description{
        font-size:16px;
        line-height:1.8;
        color:#6d6d6d;
    }
    .product-description-section{
        margin:16px 0;
    }

    .color-options,
    .size-options,
    .product-option-values{
        gap:10px;
    }

    .color-btn,
    .size-btn,
    .product-option-btn{
        min-width:54px;
        height:42px;
        font-size:16px;
        padding:0 14px;
        border-radius:999px;
        border:1px solid #ececec;
        background:#fff;
        transition:
            background-color .2s ease,
            border-color .2s ease,
            color .2s ease,
            box-shadow .2s ease;
    }

    .product-bottom-bar{
        height: auto;
        min-height: calc(76px + env(safe-area-inset-bottom, 0px));
        padding:
            0 18px
            env(safe-area-inset-bottom, 0px);
        display:flex;
        align-items:center;
        background:rgba(255,255,255,.95);
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
        border-top:none;
        box-shadow:0 -10px 35px rgba(0,0,0,.08);
    }

    .product-bottom-bar-inner{
        width:100%;
        min-height:76px;
        display:flex;
        justify-content:space-between;
        align-items:center;
        gap:10px;
    }

    .purchase-pill{
        width:auto;
        padding:0 10px;
        gap:2px;
        background:#333;
    }

    .quantity-selector{
        display:flex;
        align-items:center;
        background:transparent;
        border:none;
        height:100%;
        padding-left:2px;
        gap:4px;
        margin-left:6px;
        margin-right:12px;
    }

    .product-benefits{
        display:flex;
        flex-direction:column;
        gap:14px;
        padding:0 24px;
        margin-top:30px;
    }

    

    .benefit-item{
        display:flex;
        align-items:flex-start;
        gap:16px;
        padding:18px;
        background:#fafafa;
        border:1px solid #efefef;
        border-radius:18px;
    }

    .benefit-item span{
        font-size:22px;
    }

    .benefit-item strong{
        display:block;
        margin-bottom:4px;
    }

    .benefit-item p{
        font-size:14px;
        line-height:1.6;
        color:#777;
    }

    .product-title-section,
    .product-description-section,
    .product-colors,
    .product-sizes,
    .product-option-group{
        padding:0 24px;
    }

    .section-divider{
        margin:26px 24px;
    }
    .product-title-section + .section-divider{
        margin:8px 24px 26px;
    }
    .product-sizes + .section-divider{
        margin:46px 24px 26px;
    }

    .product-page-header{
        height:86px;
        padding:0 24px;
        background:rgba(255,255,255,.95);
        backdrop-filter:blur(10px);
        -webkit-backdrop-filter:blur(10px);
        box-shadow:0 4px 18px rgba(0,0,0,.06);
    }

    .product-page-header-inner{
        width:100%;
        display:flex;
        justify-content:space-between;
        align-items:center;
    }

    .product-page-header img{
        width:26px;
        height:26px;
        object-fit:contain;
    }

    .product-page-icons{
        display:flex;
        align-items:center;
        gap:18px;
    }

    #cart-icon{
        width:30px;
    }

    .cart-image,
    .search-image,
    .wishlist-nav-image,
    .account-image{
        width:26px;
        height:26px;
    }


    .product-bottom-cart{
        flex:0 0 135px;
        height:46px;
        border:none;
        border-radius:999px;
        background:#333;
        color:#fff;
        font-size:15px;
        font-weight:700;
        transition:.25s ease;
    }

    .product-bottom-cart:hover{
        transform:translateY(-2px);
    }

    .product-bottom-cart:active{
        transform:scale(.98);
    }

    .product-info{
        padding-bottom:0;
    }
    .product-rating{
        display:flex;
        align-items:center;
        gap:8px;
        margin: 0 0 22px;
    }

    .stars{
        color:#D4AF37; /* Luxury gold */
        font-size:16px;
        letter-spacing:2px;
        line-height:1;
    }

    .rating-text{
        color:#6E6E6E;
        font-size:14px;
        font-weight:500;
    }
}

@media (min-width: 481px) and (max-width: 768px) {
    .purchase-pill{
        width:320px;
        padding:0 22px;
        gap:12px;
    }

    .product-bottom-cart{
        min-width:auto;
        flex:0 0 auto;
    }
}

/* ==========================================
   TABLET PRODUCT PAGE
========================================== */

@media (min-width:601px) and (max-width:900px){

    .product-layout{
        grid-template-columns:320px 1fr;
        gap:40px;
        align-items:start;
    }

    .product-gallery-wrapper{
        display:grid;
        grid-template-columns:70px minmax(0, 1fr);
        gap:20px;
    }

    .product-gallery,
    .product-image-container,
    .product-slider-track,
    .product-slide{
        min-width:0;
        max-width:100%;
    }
    

    .product-thumbnails{
        flex-direction:column;
        padding:0;
        overflow:visible;
    }

    .product-thumbnail{
        width:72px;
        height:72px;
    }

    .product-slide img{
        width:100%;
        height:auto;
        object-fit:contain;
    }

    .product-page-image,
    .product-image-container{
        border-radius:20px;
    }
}

@media screen and (max-width:600px){
    .cart,
    .wishlist{
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }

    .product-page-header{
        height: 72px;
        padding: 0 14px;
    }

    .product-page-header-inner{
        gap:10px;
    }

    .product-page-icons{
        min-width:0;
        gap: 10px;
        margin-left:0;
    }

    .product-nav-search{
        flex:1 1 auto;
        width:auto;
        min-width:0;
        max-width:none;
    }

    .product-nav-search #search-input{
        height:36px;
        padding-right:10px;
        padding-left:34px;
        font-size:13px;
    }

    .product-page-header .product-nav-search .product-nav-search-icon{
        left:11px;
        width:14px;
        height:14px;
    }

    .product-page-header .product-search-clear img{
        width:11px;
        height:11px;
    }

    .product-page-header .product-back-btn img{
        width: 20px;
        height: 20px;
    }

    .product-page-header .search-image,
    .product-page-header .wishlist-nav-image,
    .product-page-header .account-image{
        width: 21px;
        height: 21px;
    }

    .product-page-header .account-initials{
        width:21px;
        height:21px;
        font-size:8px;
    }

    .product-page-header #cart-icon,
    .product-page-header .cart-image{
        width: 24px;
        height: 24px;
    }

    .product-page-header #cart-icon .cart-item-count{
        top: -2px;
        right: -5px;
        width: auto;
        min-width: 16px;
        height: 16px;
        padding: 0 4px;
        font-size: 10px;
    }

}
/* Compact, consistent cart and wishlist headers on phones. */
@media screen and (max-width:600px){
    .cart-title,
    .wishlist-title{
        flex:0 0 auto;
        min-height:64px;
        margin:0;
        padding:max(15px, env(safe-area-inset-top, 0px)) 125px 15px 20px;
        display:flex;
        align-items:center;
        gap:7px;
        background:#fff;
        border:0;
        border-bottom:1px solid #ece8e5;
        color:#333;
        font-size:24px;
        line-height:1.15;
        font-weight:600;
        letter-spacing:-.3px;
        white-space:nowrap;
        flex-wrap:nowrap;
    }

    .cart-title-count{
        color:#8a817d;
        font-size:14px;
        font-weight:500;
    }

    .cart-title,
    .wishlist-title{
        color:#E5A484;
    }

    #cart-close,
    #wishlist-close{
        top:max(7px, calc(env(safe-area-inset-top, 0px) + 7px));
        right:12px;
        width:21px;
        height:21px;
        padding:11px;
        box-sizing:content-box;
        object-fit:contain;
        opacity:.88;
    }

    .cart .total{
        flex:0 0 auto;
        margin:0;
        padding:14px 20px 10px;
    }

    .cart .btn-buy{
        flex:0 0 auto;
        margin:14px auto max(14px, env(safe-area-inset-bottom, 0px));
        padding:13px 14px;
    }

    .cart .btn-buy + br,
    .cart .btn-buy + br + br{
        display:none;
    }
}

/* Compact cart summary on tablet and laptop screens. */
@media screen and (min-width:601px) and (max-width:1440px){
    .cart .total{
        flex:0 0 auto;
        margin:0;
        padding:11px 18px 7px;
        font-size:16px;
    }

    .cart .btn-buy{
        flex:0 0 auto;
        width:calc(100% - 36px);
        margin:9px auto 10px;
        padding:11px 14px;
        font-size:16px;
    }

    .cart .btn-buy + br,
    .cart .btn-buy + br + br{
        display:none;
    }
}

/* Compact product-page navigation on laptop screens. */
@media screen and (min-width:1024px) and (max-width:1440px){
    .product-page-header{
        height:70px;
    }

    .product-page-icons{
        gap:15px;
    }

    .product-back-btn img,
    .cart-image,
    .wishlist-nav-image{
        width:22px;
        height:22px;
        object-fit:contain;
    }

    .product-details{
        padding-top:104px;
    }

    .cart-title{
        flex:0 0 70px;
        height:70px;
        min-height:70px;
        display:flex;
        align-items:center;
        gap:7px;
        padding:0 125px 0 18px;
        font-size:27px;
        line-height:1;
    }

    #cart-close{
        top:22.5px;
        right:22px;
        width:25px;
        height:25px;
        object-fit:contain;
    }
}

/* Floating product controls over the hero image on phones. */
@media screen and (max-width:600px){
    .product-page-header{
        position:absolute;
        top:0;
        right:0;
        left:0;
        height:auto;
        padding:max(14px, env(safe-area-inset-top, 0px)) 16px 0;
        background:transparent;
        box-shadow:none;
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
        pointer-events:none;
    }

    .product-page-header-inner{
        position:relative;
        width:100%;
        gap:12px;
        pointer-events:none;
    }

    .product-back-btn,
    .product-nav-search,
    #wishlist-nav-icon,
    #cart-icon{
        width:48px;
        height:48px;
        min-width:48px;
        display:flex;
        align-items:center;
        justify-content:center;
        border:1px solid rgba(255,255,255,.72);
        border-radius:50%;
        background:rgba(255,255,255,.82);
        box-shadow:0 8px 24px rgba(0,0,0,.13);
        backdrop-filter:blur(14px);
        -webkit-backdrop-filter:blur(14px);
        pointer-events:auto;
    }

    .product-back-btn{
        padding:0;
    }

    .product-page-header .product-back-btn img{
        width:22px;
        height:22px;
    }

    .product-page-icons{
        position:relative;
        flex:0 0 auto;
        gap:10px;
        margin-left:auto;
        pointer-events:none;
    }

    .product-nav-search{
        position:relative;
        flex:0 0 48px;
        padding:0;
        overflow:hidden;
        transition:width .28s ease, border-radius .28s ease;
        z-index:3;
    }

    .product-page-header .product-nav-search .product-nav-search-icon{
        top:50%;
        left:50%;
        width:22px;
        height:22px;
        opacity:1;
        transform:translate(-50%,-50%);
        transition:left .28s ease, transform .28s ease;
    }

    .product-nav-search #search-input{
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        padding:0;
        border:0;
        border-radius:999px;
        background:transparent;
        color:#333;
        font-size:14px;
        opacity:0;
        cursor:pointer;
        box-shadow:none;
    }

    .product-nav-search:focus-within{
        position:absolute;
        top:0;
        right:0;
        width:min(260px, calc(100vw - 92px));
        border-radius:999px;
    }

    .product-nav-search:focus-within .product-nav-search-icon{
        left:17px;
        transform:translate(0,-50%);
    }

    .product-nav-search:focus-within #search-input{
        padding:0 42px 0 48px;
        opacity:1;
        cursor:text;
    }

    .product-nav-search:focus-within .product-search-clear{
        right:15px;
        z-index:2;
    }

    .product-page-header #wishlist-nav-icon,
    .product-page-header #cart-icon{
        flex:0 0 48px;
        width:48px;
        height:48px;
        min-width:48px;
        min-height:48px;
        aspect-ratio:1;
    }

    .product-page-header .wishlist-nav-image,
    .product-page-header .cart-image{
        width:23px;
        height:23px;
    }

    .product-page-header .cart-image{
        transform:translate(-2px, 2px);
    }

    .product-page-header #cart-icon .cart-item-count{
        top:9px;
        right:8px;
    }

    .product-details{
        padding-top:0;
    }

    .product-page-header.is-scrolled{
        position:fixed;
        height:72px;
        padding:0 14px;
        background:rgba(255,255,255,.95);
        box-shadow:0 4px 18px rgba(0,0,0,.06);
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
        pointer-events:auto;
    }

    .product-page-header.is-scrolled .product-page-header-inner{
        gap:10px;
        pointer-events:auto;
    }

    .product-page-header.is-scrolled .product-back-btn,
    .product-page-header.is-scrolled .product-nav-search,
    .product-page-header.is-scrolled #wishlist-nav-icon,
    .product-page-header.is-scrolled #cart-icon{
        border:0;
        background:transparent;
        box-shadow:none;
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
    }

    .product-page-header.is-scrolled .product-back-btn{
        width:auto;
        height:auto;
        min-width:0;
    }

    .product-page-header.is-scrolled .product-page-icons{
        flex:1 1 auto;
        min-width:0;
        gap:10px;
    }

    .product-page-header.is-scrolled .product-nav-search,
    .product-page-header.is-scrolled .product-nav-search:focus-within{
        position:relative;
        inset:auto;
        flex:1 1 auto;
        width:auto;
        height:36px;
        min-width:0;
        border:0;
        border-radius:999px;
        overflow:visible;
    }

    .product-page-header.is-scrolled .product-nav-search #search-input{
        position:relative;
        inset:auto;
        width:100%;
        height:36px;
        padding:0 36px 0 34px;
        border:1px solid #ddd;
        background:#fafafa;
        opacity:1;
        cursor:text;
    }

    .product-page-header.is-scrolled .product-nav-search .product-nav-search-icon,
    .product-page-header.is-scrolled .product-nav-search:focus-within .product-nav-search-icon{
        left:11px;
        width:14px;
        height:14px;
        opacity:.65;
        transform:translateY(-50%);
    }

    .product-page-header.is-scrolled #wishlist-nav-icon,
    .product-page-header.is-scrolled #cart-icon{
        flex:0 0 auto;
        width:24px;
        height:24px;
        min-width:24px;
        min-height:24px;
        aspect-ratio:auto;
        border-radius:0;
    }

    .product-page-header.is-scrolled .wishlist-nav-image,
    .product-page-header.is-scrolled .cart-image{
        width:22px;
        height:22px;
    }

    .product-page-header.is-scrolled .cart-image{
        transform:none;
    }

    .product-page-header.is-scrolled #cart-icon .cart-item-count{
        top:-2px;
        right:-5px;
    }

    @media (prefers-reduced-motion:no-preference){
        .product-page-header{
            transition:background-color .25s ease, box-shadow .25s ease;
        }
    }
}

@media screen and (max-width:1200px){
    .product-page-header:has(.product-reviews-page-title){
        position:fixed;
        top:0;
        right:auto;
        left:0;
        width:100%;
        min-height:84px;
        padding:0 7%;
        background:rgba(255,255,255,.95);
        border-bottom:1px solid #e5e5e5;
        box-shadow:0 4px 18px rgba(0,0,0,.06);
        backdrop-filter:blur(10px);
        -webkit-backdrop-filter:blur(10px);
        pointer-events:auto;
    }

    .product-page-header:has(.product-reviews-page-title) .product-page-header-inner{
        position:relative;
        width:100%;
        max-width:1400px;
        gap:0;
        justify-content:center;
        pointer-events:auto;
    }

    .product-page-header:has(.product-reviews-page-title) .product-reviews-back{
        position:absolute;
        left:0;
        display:flex;
        align-items:center;
        justify-content:flex-start;
        width:42px;
        height:42px;
        min-width:42px;
        padding:0;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
        pointer-events:auto;
    }

    .product-page-header:has(.product-reviews-page-title) .product-reviews-back img{
        width:24px;
        height:24px;
        object-fit:contain;
    }
}

@media screen and (max-width:760px){
    .product-page-header:has(.product-reviews-page-title){
        min-height:72px;
        padding:0 20px;
    }

    .product-page-header:has(.product-reviews-page-title) .product-reviews-page-title{
        font-size:25px;
        letter-spacing:1.5px;
    }

    .product-page-header:has(.product-reviews-page-title) .product-reviews-back{
        width:42px;
        height:42px;
        min-width:42px;
    }

    .product-page-header:has(.product-reviews-page-title) .product-reviews-back img{
        width:20px;
        height:20px;
    }
}

/* Match the shared cart and wishlist width on tablet and laptop screens. */
/* Prevent iOS from enlarging the page when the mobile search field is focused. */
@media screen and (max-width:600px){
    #search-input,
    .product-nav-search #search-input{
        font-size:16px;
    }
}

@media screen and (min-width:601px){
    .cart,
    .wishlist{
        width:clamp(420px, 32vw, 480px);
    }
}

/* Match Wishlist action positions to their Cart drawer counterparts. */
.wishlist-remove{
    right:30px;
}

#wishlist-close{
    top:32px;
    right:31px;
}

@media screen and (min-width:601px) and (max-width:1440px){
    #wishlist-close{right:34px;}
}

@media screen and (max-width:600px){
    #wishlist-close{
        top:20px;
        right:34px;
        width:22px;
        height:22px;
        padding:0;
        box-sizing:border-box;
        opacity:1;
    }
}

/* Match all product navigation controls to the shared content shimmer. */
html.site-loading-enabled :is(
    .product-back-btn:has(> img:not(.site-image-ready):not(.site-image-error)),
    .product-nav-search:has(.product-nav-search-icon:not(.site-image-ready):not(.site-image-error)),
    #wishlist-nav-icon:has(.wishlist-nav-image:not(.site-image-ready):not(.site-image-error)),
    #cart-icon:has(.cart-image:not(.site-image-ready):not(.site-image-error))
){
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:#e6e6e6!important;
}

html.site-loading-enabled :is(
    .product-back-btn:has(> img:not(.site-image-ready):not(.site-image-error)),
    .product-nav-search:has(.product-nav-search-icon:not(.site-image-ready):not(.site-image-error)),
    #wishlist-nav-icon:has(.wishlist-nav-image:not(.site-image-ready):not(.site-image-error)),
    #cart-icon:has(.cart-image:not(.site-image-ready):not(.site-image-error))
)::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:-50%;
    z-index:1000;
    width:45%;
    border-radius:inherit;
    background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.82),rgba(255,255,255,0));
    animation:site-content-shimmer 1.3s ease-in-out infinite;
    pointer-events:none;
}

@media (prefers-reduced-motion:reduce){
    html.site-loading-enabled :is(
        .product-back-btn,
        .product-nav-search,
        #wishlist-nav-icon,
        #cart-icon
    )::after{
        animation:none;
    }
}

/* Final responsive drawer alignment override. */
.cart-header-actions,
.wishlist-header-actions{right:27px;}

.cart-close-button,
.wishlist-close-button{
    width:36px;
    height:36px;
    padding:0;
    display:grid;
    place-items:center;
}

.cart-close-button #cart-close,
.wishlist-close-button #wishlist-close{
    position:static;
    width:22px;
    height:22px;
    padding:0;
    box-sizing:border-box;
}
