/*
 * Kasi Mattress
 * Product Detail Information
 * File: assets/css/pages/product.css
 * Version: 2.1.0
 *
 * Purpose:
 * - Compact premium product detail layout
 * - Breadcrumbs are visually minimized
 * - Reduced vertical gaps between product elements
 */

.km-product-page{
    background:var(--white);
}

/* ----------------------------------------------------------
   Breadcrumbs
   Keep them available for navigation, but visually quiet.
---------------------------------------------------------- */

.km-product-breadcrumb{
    padding:10px 0;
    background:var(--white);
    border-bottom:1px solid var(--border);
}

.km-product-breadcrumb nav{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
    font-size:.72rem;
    line-height:1.2;
}

.km-product-breadcrumb a{
    color:var(--text-light);
    text-decoration:none;
    transition:.2s;
}

.km-product-breadcrumb a:hover{
    color:var(--accent);
}

.km-product-breadcrumb span{
    color:var(--text-light);
}

/* ----------------------------------------------------------
   Product Header / Main Layout
---------------------------------------------------------- */

.km-product-header{
    padding:38px 0 52px;
}

.km-product-layout{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:44px;
    align-items:start;
}

.km-product-section{
    padding:56px 0;
    border-top:1px solid var(--border);
}

.km-mobile-product-cta{
    display:none;
}

/* ----------------------------------------------------------
   Product Information
---------------------------------------------------------- */

.km-product-information{
    display:flex;
    flex-direction:column;
    gap:0;
}

.km-product-information-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:5px;
}

.km-product-rating{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:10px;
}

.km-product-information .km-rating-stars{
    display:inline-flex;
    align-items:center;
    gap:4px;
    color:var(--accent);
}

.km-product-information .km-rating-stars i{
    color:inherit;
    font-size:13px;
}

.km-product-availability{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:4px 8px;
    border:1px solid var(--border);
    border-radius:999px;
    background:var(--white);
    color:var(--text);
    font-size:.68rem;
    font-weight:700;
    white-space:nowrap;
}

.km-product-availability-dot{
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--success);
    flex:0 0 auto;
}

.km-product-availability-out_of_stock .km-product-availability-dot{
    background:var(--danger);
}

.km-product-availability-pre_order .km-product-availability-dot{
    background:var(--warning);
}

.km-product-title{
    margin:0;
    color:var(--text-dark);
    font-size:clamp(1.45rem,2.1vw,1.9rem);
    line-height:1.18;
    letter-spacing:-.025em;
    font-weight:800;
}

.km-product-description{
    max-width:620px;
    margin:8px 0 0;
    color:var(--text-light);
    font-size:.84rem;
    line-height:1.5;
}

.km-product-price-block{
    margin-top:13px;
    padding-top:13px;
    border-top:1px solid var(--border);
}

.km-product-price-label{
    display:block;
    margin-bottom:4px;
    color:var(--text-light);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.km-product-pricing{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:8px;
}

.km-current-price{
    color:var(--primary);
    font-size:clamp(1.5rem,2.35vw,1.95rem);
    line-height:1;
    font-weight:800;
    letter-spacing:-.025em;
}

.km-old-price{
    color:var(--text-light);
    font-size:.8rem;
    text-decoration:line-through;
}

.km-product-sale-badge{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    padding:3px 7px;
    border-radius:999px;
    background:var(--accent);
    color:var(--primary-dark);
    font-size:.62rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.km-product-benefits{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    margin-top:14px;
    padding:10px 0;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
}

.km-product-benefit{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
}

.km-product-benefit-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    flex:0 0 28px;
    border-radius:var(--radius-md);
    background:color-mix(in srgb, var(--accent) 16%, var(--white));
    color:var(--primary);
    font-size:.74rem;
}

.km-product-benefit span:last-child{
    display:flex;
    flex-direction:column;
    gap:1px;
    min-width:0;
}

.km-product-benefit strong{
    color:var(--text-dark);
    font-size:.74rem;
    line-height:1.25;
}

.km-product-benefit small{
    color:var(--text-light);
    font-size:.66rem;
    line-height:1.3;
}

.km-product-actions{
    display:flex;
    gap:9px;
    margin-top:14px;
}

.km-product-actions .km-btn{
    min-height:40px;
    flex:1;
    justify-content:center;
    gap:6px;
    padding:8px 14px;
    font-size:.8rem;
}

.km-product-action-note{
    margin:6px 0 0;
    color:var(--text-light);
    font-size:.66rem;
    line-height:1.4;
}

.km-product-action-note strong{
    color:var(--text);
}

/* ----------------------------------------------------------
   Responsive
---------------------------------------------------------- */

@media (max-width:992px){
    .km-product-layout{
        grid-template-columns:1fr;
        gap:34px;
    }
}

@media (max-width:768px){
    .km-product-breadcrumb{
        padding:8px 0;
    }

    .km-product-header{
        padding:30px 0 42px;
    }

    .km-product-layout{
        gap:28px;
    }

    .km-product-information-heading{
        align-items:flex-start;
        gap:8px;
    }

    .km-product-title{
        font-size:clamp(1.4rem,6vw,1.8rem);
    }

    .km-product-description{
        font-size:.82rem;
    }

    .km-product-price-block{
        margin-top:12px;
        padding-top:12px;
    }

    .km-product-benefits{
        margin-top:13px;
    }

    .km-product-actions .km-btn{
        min-height:40px;
    }

    .km-mobile-product-cta{
        display:flex;
        position:fixed;
        left:0;
        right:0;
        bottom:0;
        z-index:1000;
        gap:10px;
        padding:12px;
        background:var(--white);
        border-top:1px solid var(--border);
        box-shadow:0 -6px 18px rgba(0,0,0,.07);
    }

    .km-mobile-product-cta .km-btn{
        flex:1;
        justify-content:center;
    }

    body{
        padding-bottom:76px;
    }
}

@media (max-width:480px){
    .km-product-actions{
        flex-direction:column;
    }

    .km-product-actions .km-btn{
        width:100%;
    }
}

@media (prefers-reduced-motion:reduce){
    .km-product-information *{
        transition:none !important;
    }
}
