/* Shared storefront add-to-cart modal. Keep every product surface visually identical. */
html.product-modal-open,body.product-modal-open{overflow:hidden}
.product-modal-overlay{position:fixed;inset:0;z-index:99998;display:flex;align-items:center;justify-content:center;padding:14px;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.product-modal-overlay.active{opacity:1;visibility:visible}
.product-modal{width:min(94vw,700px);padding:26px 26px 48px;border:1px solid #d9d9d9;border-radius:26px;background:#fff;box-shadow:0 20px 45px rgba(0,0,0,.18);filter:none;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-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-right{display:flex;min-width:0;height:auto;flex:1 1 auto;align-self:stretch;flex-direction:column;justify-content:space-between;gap:0}
.product-modal-header,.product-modal-price,.product-modal-description-row{flex:0 0 auto;margin:0}
.product-modal-title-link{display:block;min-width:0;color:inherit;text-decoration:none;cursor:pointer}
.product-modal-title{margin:0;font-size:24px;font-weight:600;line-height:1.2}
.product-modal-reviews{display:flex;min-width:0;max-width:100%;align-items:center;gap:5px;color:#6e6e6e;font-size:13px;line-height:1;white-space:nowrap}
.product-modal-reviews[hidden]{display:none}
.product-modal-review-stars{flex:0 0 auto;color:#d4af37;font-size:15px;letter-spacing:.5px}
.product-modal-review-summary{min-width:0;overflow:hidden;flex:0 1 auto;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.product-modal-price{display:block;color:#e5a484;font-size:16px;font-weight:600}
.product-modal-description-row{display:flex;min-width:0;align-items:baseline;flex-wrap:nowrap;gap:0}
.product-modal-description{display:inline-block;min-width:0;width:max-content;max-width:calc(100% - 84px);margin:0;overflow:hidden;flex:0 1 max-content;color:#666;line-height:1.6;text-overflow:clip;white-space:nowrap}
.product-modal-read-more{display:inline-block;margin:0;flex:0 0 auto;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:20px;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;color:#444;font-size:16px;font-weight:600}
.product-modal-option-values{display:flex;width:100%;flex-wrap:wrap;gap:10px}
.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{border-color:#e5a484;box-shadow:0 6px 14px rgba(0,0,0,.08);transform:translateY(-2px)}
.product-modal-option-btn.active{border-color:#e5a484;background:#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{position:relative;display:flex;width:auto;min-width:0;height:auto;margin:0;padding:14px;border:1px solid #E5A484;border-radius:12px;background:#fff;color:#E5A484;font-size:16px;font-weight:600;cursor:pointer;align-items:center;flex:1 1 0;justify-content:center;gap:8px;transition:.25s ease}
.product-modal-favorite:hover{border-color:#E5A484;background:#fff;box-shadow:0 6px 16px rgba(201,133,98,.13);color:#E5A484;transform:translateY(-2px)}
.product-modal-favorite:active{transform:scale(.94)}
.product-modal-favorite.is-favorite,
.product-modal-favorite.is-favorite:hover,
.product-modal-favorite:focus-visible,
.product-modal-favorite:active{border-color:#E5A484;background:#fff;color:#E5A484}
.product-modal-favorite span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-modal-favorite-icon,.product-modal-cart-icon{display:block;width:18px;height:18px;flex:0 0 18px;object-fit:contain}
.product-modal-actions .product-modal-cart{width:auto;min-width:0;margin:0;flex:1 1 0}
.product-modal-cart{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap;text-align:center;white-space:nowrap;line-height:1;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 span{display:block;flex:0 0 auto;line-height:1;white-space:nowrap}
.product-modal-cart:hover{transform:translateY(-2px)}
.product-modal-cart:active{box-shadow:0 1px 3px rgba(201,133,98,.12);transform:translateY(1px)}

/* Unrated products use a tighter preview instead of stretching copy into the missing review row. */
.product-modal.has-no-reviews{width:min(90vw,500px);padding:20px 20px 26px}
.product-modal.has-no-reviews .product-modal-top{gap:12px;padding:12px}
.product-modal.has-no-reviews .product-modal-left{flex-basis:104px}
.product-modal.has-no-reviews .product-modal-image{width:104px;height:104px;border-radius:15px}
.product-modal.has-no-reviews .product-modal-right{height:104px;align-self:center;justify-content:center;gap:7px}
.product-modal.has-no-reviews .product-modal-header{flex:0 0 auto}
.product-modal.has-no-reviews .product-modal-title{font-size:20px;line-height:1.15}
.product-modal.has-no-reviews .product-modal-price{font-size:15px}
.product-modal.has-no-reviews .product-modal-description{line-height:1.35}
.product-modal.has-no-reviews .product-modal-options-group{margin-top:14px;padding:13px}
.product-modal.has-no-reviews .product-modal-actions{margin-top:16px}

@media screen and (min-width:601px) and (max-width:1200px){.product-modal{width:min(86vw,560px);padding:20px 20px 28px}.product-modal-left{flex-basis:120px}.product-modal-image{width:120px;height:120px}.product-modal-title{font-size:22px}.product-modal-description{font-size:inherit;line-height:1.6}.product-modal-options-group{margin-top:20px;padding:16px;border-radius:20px}.product-modal-actions{margin-top:20px}}
@media screen and (min-width:1201px) and (max-width:1799px){.product-modal{width:min(86vw,560px);padding:20px 20px 28px}.product-modal-left{flex-basis:120px}.product-modal-image{width:120px;height:120px}.product-modal-title{font-size:22px}.product-modal-actions{margin-top:20px}}
@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,.product-modal-actions .product-modal-cart{padding:11px 8px;font-size:14px}}
@media screen and (max-width:600px){.product-modal.has-no-reviews{width:min(88vw,330px);padding:14px 10px 20px}.product-modal.has-no-reviews .product-modal-top{gap:9px;padding:9px;border-radius:17px}.product-modal.has-no-reviews .product-modal-left{flex-basis:82px}.product-modal.has-no-reviews .product-modal-image{width:82px;height:82px;border-radius:13px}.product-modal.has-no-reviews .product-modal-right{height:82px;gap:4px}.product-modal.has-no-reviews .product-modal-title{font-size:17px}.product-modal.has-no-reviews .product-modal-price{font-size:13px}.product-modal.has-no-reviews .product-modal-description,.product-modal.has-no-reviews .product-modal-read-more{font-size:11px}.product-modal.has-no-reviews .product-modal-options-group{margin-top:12px;padding:9px}.product-modal.has-no-reviews .product-modal-actions{margin-top:13px}}
/* Standard and discounted current prices use one consistent modal size. */
.product-modal .product-modal-price,
.product-modal.has-no-reviews .product-modal-price,
.product-modal .product-modal-price .is-modal-price .mpwr-sale-price{font-size:14px}
.product-modal .product-modal-price .is-modal-price .mpwr-original-price{font-size:.72em}

/* Match product-page option feedback: color change and a soft shadow, without bounce movement. */
.product-modal .product-modal-option-btn,
.product-modal .product-modal-color-btn,
.product-modal .product-modal-size-btn{
    transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent
}
.product-modal .product-modal-option-btn:hover,
.product-modal .product-modal-color-btn:hover,
.product-modal .product-modal-size-btn:hover{
    transform:none
}
.product-modal .product-modal-option-btn.active,
.product-modal .product-modal-color-btn.active,
.product-modal .product-modal-size-btn.active{
    box-shadow:0 4px 10px rgba(229,164,132,.16);
    transform:none
}
.product-modal .product-modal-option-btn:active,
.product-modal .product-modal-color-btn:active,
.product-modal .product-modal-size-btn:active{
    transform:none
}
@media (hover:hover) and (pointer:fine){
    .product-modal .product-modal-option-btn:hover,
    .product-modal .product-modal-color-btn:hover,
    .product-modal .product-modal-size-btn:hover{
        border-color:#e5a484;
        box-shadow:0 3px 8px rgba(0,0,0,.035)
    }
}

/* Never render an empty navigation badge while cart state is loading. */
#cart-icon .cart-item-count:empty{display:none!important}

/* Align modal action icons and labels on the same visual centerline. */
.product-modal-actions .product-modal-favorite,
.product-modal-actions .product-modal-cart{
    display:inline-grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:max-content!important;
    align-items:center!important;
    justify-content:center!important;
    justify-items:center!important;
    gap:8px!important;
    line-height:18px!important;
    white-space:nowrap!important;
    text-align:center!important;
}
.product-modal-actions .product-modal-favorite-icon,
.product-modal-actions .product-modal-cart-icon{
    display:block!important;
    width:18px!important;
    height:18px!important;
    margin:0!important;
    object-fit:contain!important;
    transform:translateY(-.5px);
}
.product-modal-actions .product-modal-favorite span,
.product-modal-actions .product-modal-cart span{
    display:block!important;
    height:18px!important;
    line-height:18px!important;
    margin:0!important;
    white-space:nowrap!important;
}
