:root{
    --srp-mobile-nav-clearance:96px;
}

.srp-product-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    height:100%;
    border-radius:20px;
}

.srp-product-card__image{
    position:relative;
    overflow:hidden;
}

.srp-product-card__image img{
    aspect-ratio:1/1;
}

.srp-product-card__body{
    display:flex;
    flex:1;
    flex-direction:column;
    min-width:0;
}

.srp-product-card__meta{
    min-height:24px;
}

.srp-product-card .product-stock-badge.preorder{
    background:#fff7ed;
    color:#c2410c;
}

.srp-product-card .product-stock-badge.out-of-stock{
    background:#f1f5f9;
    color:#64748b;
}

.srp-product-card .product-sku{
    max-width:48%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.srp-product-card__title{
    display:-webkit-box;
    min-height:42px;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.srp-product-card__specs{
    display:grid;
    gap:5px;
    margin:10px 0 0;
    padding:0;
    list-style:none;
}

.srp-product-card__specs li{
    display:flex;
    justify-content:space-between;
    gap:8px;
    min-width:0;
    color:#64748b;
    font-size:11px;
    line-height:1.3;
}

.srp-product-card__specs span,
.srp-product-card__specs strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.srp-product-card__specs strong{
    color:#334155;
    text-align:right;
}

.srp-product-card__warranty{
    display:flex;
    align-items:center;
    gap:5px;
    margin-top:9px;
    color:#0f766e;
    font-size:11px;
    font-weight:800;
    line-height:1.3;
}

.srp-product-card__price{
    margin-top:auto;
    padding-top:10px;
}

.srp-product-card__actions{
    grid-template-columns:minmax(0,1fr) 46px!important;
}

.srp-product-card__actions button,
.srp-product-card .product-wishlist-btn{
    min-height:46px;
    height:46px;
}

.product-add-cart-btn.is-loading,
.srp-purchase-action__button.is-loading{
    cursor:wait;
    opacity:.76;
}

.product-add-cart-btn.is-success,
.srp-purchase-action__button.is-success{
    background:#0f766e!important;
    border-color:#0f766e!important;
}

.product-add-cart-btn.is-error,
.srp-purchase-action__button.is-error{
    background:#b91c1c!important;
    border-color:#b91c1c!important;
}

.srp-product-card__feedback,
.srp-purchase-action__feedback{
    min-height:16px;
    margin:5px 0 0;
    color:#0f766e;
    font-size:11px;
    font-weight:700;
    line-height:1.35;
}

.srp-product-card__feedback:empty,
.srp-purchase-action__feedback:empty{
    min-height:0;
    margin-top:0;
}

.srp-product-card__feedback.is-error,
.srp-purchase-action__feedback.is-error{
    color:#b91c1c;
}

.product-main-image{
    position:relative;
    cursor:zoom-in;
}

.product-main-image img{
    transition:transform .22s ease;
}

.product-main-image.is-zoomed{
    cursor:zoom-out;
    overflow:auto;
    touch-action:pan-x pan-y;
}

.product-main-image.is-zoomed img{
    width:160%;
    height:160%;
    max-width:none;
    transform:none;
}

.product-zoom-toggle{
    position:absolute;
    top:12px;
    right:12px;
    z-index:2;
    min-width:58px;
    min-height:44px;
    border:1px solid #dbe4ee;
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:#0f172a;
    font-weight:800;
    cursor:pointer;
}

.srp-purchase-action{
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
}

.srp-quantity-control{
    display:grid;
    grid-template-columns:44px 54px 44px;
    align-items:center;
    overflow:hidden;
    border:1px solid #cbd5e1;
    border-radius:14px;
    background:#fff;
}

.srp-quantity-control button,
.srp-quantity-control input{
    width:100%;
    min-height:46px;
    border:0;
    background:#fff;
    color:#0f172a;
    text-align:center;
    font-weight:900;
}

.srp-quantity-control button{
    cursor:pointer;
    font-size:20px;
}

.srp-quantity-control input{
    appearance:textfield;
    border-right:1px solid #e2e8f0;
    border-left:1px solid #e2e8f0;
}

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

.srp-purchase-action__button{
    min-height:48px;
}

.srp-purchase-action__feedback{
    grid-column:1/-1;
}

@media(max-width:768px){
    .product-detail-page{
        padding-bottom:calc(var(--srp-mobile-nav-clearance) + 96px + env(safe-area-inset-bottom));
    }

    .srp-purchase-action{
        position:fixed!important;
        left:max(10px,env(safe-area-inset-left));
        right:max(10px,env(safe-area-inset-right));
        bottom:calc(var(--srp-mobile-nav-clearance) + env(safe-area-inset-bottom));
        z-index:975!important;
        display:grid;
        grid-template-columns:auto minmax(0,1fr)!important;
        gap:8px!important;
        margin:0!important;
        padding:9px!important;
        border:1px solid rgba(203,213,225,.96)!important;
        border-radius:18px!important;
        background:rgba(255,255,255,.97)!important;
        box-shadow:0 16px 38px rgba(15,23,42,.18)!important;
        backdrop-filter:blur(16px);
        -webkit-backdrop-filter:blur(16px);
    }

    .srp-quantity-control{
        grid-template-columns:42px 46px 42px;
    }

    .srp-product-card__actions{
        grid-template-columns:minmax(0,1fr) 44px!important;
    }

    .srp-product-card__actions button,
    .srp-product-card .product-wishlist-btn{
        min-height:44px!important;
        height:44px!important;
    }
}

@media(max-width:359px){
    .product-grid,
    .premium-product-grid{
        grid-template-columns:1fr!important;
    }

    .srp-product-card__specs li{
        font-size:12px;
    }

    .srp-purchase-action{
        grid-template-columns:120px minmax(0,1fr)!important;
    }

    .srp-quantity-control{
        grid-template-columns:38px 44px 38px;
    }
}

@media(prefers-reduced-motion:reduce){
    .product-main-image img,
    .premium-product-card,
    .product-add-cart-btn,
    .srp-purchase-action__button{
        transition:none!important;
    }
}
