/* ========= Product Hero ========= */

.product-hero{
    padding: 24px 0 16px;
    color:var(--color-text); 
    background:var(--color-bg-light); 
}
.product-hero .ph-inner{
    width:100%;
    max-width: 1120px;
    margin:0 auto;
    padding:0 16px;
    box-sizing: border-box;
    display:grid;
    grid-template-areas: "thumbs view info";
    grid-template-columns: 110px minmax(500px, 1fr) clamp(320px, 33vw, 400px); /*Chiều rộng 3 cột*/
    gap:24px;
    align-items: start;
}

/* Thumbs: grid ảnh bên trái*/
.ph-thumbs{ 
    grid-area: thumbs;
    display:grid;
    gap:12px;
    align-content:start; 
}
.ph-thumb{
    display:block;
    padding:0;
    border:0.5px solid transparent;
    border-radius:4px;
    background:#fff;
    cursor:pointer;
    transition:border-color .15s, box-shadow .15s; 
}
.ph-thumb img{ 
    display:block;
    width:100%;
    height:100%;
    aspect-ratio: 1/1;
    object-fit:cover;
    background:#fff;
    border:1px solid var(--color-border);
    border-radius:4px;
}
.ph-thumb:is(:hover,:focus){
    border-color:var(--color-primary); 
}
.ph-thumb.is-active{
    border: none;
    box-shadow: none;
}
.ph-thumb.is-active img {
    border-bottom: 4px solid var(--color-primary);
}

/* Main view */
.ph-view {
    grid-area: view;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 4px;
    min-width: 0;
    aspect-ratio:4/3;
    border:1px solid var(--color-border);
    overflow:hidden;
    width:100%;
}
.product-hero .ph-view img {
    width: 100%;
    height: 100%;         
    object-fit: contain;
    display: block;
    margin: auto;
    background: #fff;
}

/* Info (right) */
.ph-info{ 
    grid-area: info; 
    min-width: 0;
    max-width: none;
    align-self:start;
    text-align: left;
    overflow-wrap:anywhere; /* tránh vỡ layout khi chữ dài */
    word-break:break-word;
}
.ph-title{
    font-size:clamp(1.25rem,3.2vw,1.5rem); 
    line-height:1.3;
    margin:0 0 12px; 
}
.ph-code{
    margin:0 0 14px;
    color:var(--color-text);
    font-size: 1rem;
}
.ph-intro{
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
    color:var(--color-text);
}

/* Button */
.btn-single-product{
    width: 100%;
    display:inline-flex;
    align-items:center; 
    justify-content:center; 
    gap:8px; 
    padding:12px 18px; 
    border-radius:4px; 
    text-decoration:none; 
    font-weight:600;
    font-size:1rem; 
    border:1px solid transparent; 
    cursor:pointer;
    background:var(--color-primary); 
    color:#fff; 
}
.btn-single-product:hover{
    background: var(--color-primary-hover);
}

/* Responsive */
@media (max-width:900px){
  /* CHỈ CÒN 2 CỘT: thumbs + main image */
  .product-hero .ph-inner{
    grid-template-columns: 100px minmax(0,1fr);
    grid-template-areas:
      "thumbs view"
      "info info";
    gap: 24px;
}
  .ph-info{ 
    grid-column:1 / -1;
    justify-self: start;
    text-align: left;
    max-width: 100%;
    padding-left: 0;
}
}
@media (max-width:640px){
    .product-hero .ph-inner{ 
        grid-template-columns:1fr; 
        grid-template-areas:
            "view"
            "thumbs"
            "info";
    }
    .ph-thumbs{ 
        order:2; 
        grid-auto-flow:column; 
        grid-auto-columns:72px; 
        overflow-x:auto; 
    }
    .ph-view{ 
        order:1; 
    }  /* dùng height thay vì min-height */
    .ph-info{
        order:3;
    }
}
