

    /* MAIN LAYOUT */
    .main{
      flex:1;
      padding:20px 16px 40px;
    }
    .container{
      max-width:1100px;
      margin:0 auto;
    }

    .breadcrumbs{
      font-size:12px;
      color:var(--muted);
      margin-bottom:10px;
    }
    .breadcrumbs a{color:#6b7280;}
    .breadcrumbs span.current{color:#4b5563;}

    .product-layout{
      display:grid;
      grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
      gap:28px;
      align-items:flex-start;
    }

    /* 左側：商品圖片 */
    .gallery-card{
      background:var(--card);
      border-radius:var(--radius-lg);
      padding:16px;
      box-shadow:var(--shadow-soft);
      border:1px solid var(--border);
    }
    .main-image{
      border-radius:var(--radius);
      overflow:hidden;
      border:1px solid #e5e7eb;
      background:#0f172a;
      max-height:520px;
    }
    .main-image img{
      width:100%;
      object-fit:cover;
    }
    .thumb-row{
      display:flex;
      gap:8px;
      margin-top:10px;
      overflow-x:auto;
      padding-bottom:4px;
    }
    .thumb{
      flex:0 0 80px;
      height:80px;
      border-radius:var(--radius-sm);
      overflow:hidden;
      border:2px solid transparent;
      cursor:pointer;
    }
    .thumb img{
      width:100%;
      height:100%;
      object-fit:cover;
    }
    .thumb.active{
      border-color:var(--accent);
    }

    /* 右側：商品資訊 */
    .info-card{
      background:var(--card);
      border-radius:var(--radius-lg);
      padding:18px 18px 16px;
      box-shadow:var(--shadow);
      border:1px solid var(--border);
      position:relative;
      overflow:hidden;
    }
    .info-tag{
      display:inline-flex;
      align-items:center;
      gap:6px;
      font-size:11px;
      background:var(--accent-soft);
      color:#9a3412;
      border-radius:999px;
      padding:3px 8px;
      margin-bottom:8px;
    }
    .info-tag small{
      font-size:10px;
      padding:2px 6px;
      border-radius:999px;
      background:#f97316;
      color:#fff;
    }
    .product-title{
      font-size:22px;
      font-weight:700;
      margin-bottom:4px;
    }
    .product-subtitle{
      font-size:13px;
      color:var(--muted);
      margin-bottom:10px;
    }
    .rating-row{
      display:flex;
      align-items:center;
      gap:8px;
      font-size:12px;
      color:var(--muted);
      margin-bottom:12px;
    }
    .stars{
      color:#fbbf24;
      font-size:13px;
    }

    .price-row{
      display:flex;
      align-items:flex-end;
      gap:8px;
      margin-bottom:12px;
    }
    .price-now{
      font-size:24px;
      font-weight:700;
      color:#b91c1c;
    }
    .price-unit{
      font-size:12px;
      color:var(--muted);
      margin-bottom:3px;
    }
    .price-old{
      font-size:13px;
      color:#9ca3af;
      text-decoration:line-through;
    }
    .price-badge{
      font-size:11px;
      padding:3px 7px;
      border-radius:999px;
      background:#fee2e2;
      color:#b91c1c;
    }

    .short-desc{
      font-size:13px;
      color:var(--muted);
      margin-bottom:14px;
    }

    .divider{
      border-top:1px dashed #e5e7eb;
      margin:12px 0;
    }

    .row{
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:10px;
      margin-bottom:10px;
      font-size:13px;
    }
    .label{
      font-size:12px;
      color:var(--muted);
      min-width:70px;
    }

    .option-chips{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
    }
    .chip{
      border-radius:999px;
      padding:6px 10px;
      border:1px solid #e5e7eb;
      font-size:12px;
      background:#fff;
      cursor:pointer;
    }
    .chip.active{
      border-color:var(--accent);
      background:var(--accent-soft);
      color:#9a3412;
    }

    .qty-control{
      display:inline-flex;
      align-items:center;
      border-radius:999px;
      border:1px solid #e5e7eb;
      overflow:hidden;
      background:#f9fafb;
    }
    .qty-control button{
      border:none;
      background:transparent;
      width:30px;
      height:30px;
      cursor:pointer;
      font-size:18px;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#6b7280;
    }
    .qty-control input{
      width:44px;
      border:none;
      background:transparent;
      text-align:center;
      font-size:14px;
      padding:4px;
      outline:none;
    }

    .btn{
      border:none;
      border-radius:999px;
      padding:10px 18px;
      font-size:14px;
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      white-space:nowrap;
      transition:.16s transform,.16s box-shadow,.16s background-color;
    }
    .btn-primary{
      background:linear-gradient(120deg,#f97316,#ea580c);
      color:#fff;
      box-shadow:0 10px 26px rgba(248,113,22,.45);
      font-weight:600;
    }
    .btn-primary:hover{
      transform:translateY(-1px);
      box-shadow:0 14px 32px rgba(248,113,22,.6);
    }
    .btn-outline{
      background:#fff;
      color:#4b5563;
      border:1px solid #e5e7eb;
    }

    .hint-row{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:10px;
      font-size:11px;
      color:var(--muted);
    }
    .hint-pill{
      display:inline-flex;
      align-items:center;
      gap:4px;
      padding:4px 8px;
      border-radius:999px;
      background:#f3f4f6;
    }

    .badge-corner{
      position:absolute;
      right:-36px;
      top:14px;
      background:#f97316;
      color:#fff;
      padding:4px 40px;
      font-size:11px;
      transform:rotate(45deg);
      box-shadow:0 8px 24px rgba(248,113,22,.6);
    }

    /* 下方內容區 */
    .content-grid{
      display:grid;
      width:100%;
      gap:20px;
      margin-top:22px;
    }
    .panel{
      background:var(--card);
      border-radius:var(--radius);
      padding:16px;
      box-shadow:var(--shadow-soft);
      border:1px solid var(--border);
      font-size:13px;
    }
    .panel h2{
      font-size:16px;
      margin-bottom:8px;
    }
    .tabs{
      display:flex;
      gap:8px;
      margin-bottom:10px;
      flex-wrap:wrap;
    }
    .tab-btn{
      border:none;
      border-radius:999px;
      padding:6px 12px;
      background:#f3f4f6;
      font-size:12px;
      cursor:pointer;
      color:#4b5563;
    }
    .tab-btn.active{
      background:#fee2d5;
      color:#9a3412;
    }
    .tab-content{
      font-size:13px;
      color:#4b5563;
    }
    .tab-content ul{
      padding-left:18px;
      margin:4px 0 0;
    }
    .tab-content li{
      margin-bottom:4px;
    }

    .spec-table{
      width:100%;
      border-collapse:collapse;
      margin-top:6px;
      font-size:13px;
    }
    .spec-table th,
    .spec-table td{
      padding:6px 4px;
      border-bottom:1px solid #e5e7eb;
      text-align:left;
      vertical-align:top;
    }
    .spec-table th{
      width:90px;
      color:#6b7280;
      font-weight:500;
      font-size:12px;
    }

    .badge-list{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin-top:4px;
    }
    .badge{
      border-radius:999px;
      padding:4px 8px;
      background:#f3f4f6;
      font-size:11px;
      color:#4b5563;
    }

    .review-item{
      border-radius:var(--radius-sm);
      padding:10px;
      background:#f9fafb;
      border:1px solid #e5e7eb;
      margin-bottom:8px;
    }
    .review-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      font-size:12px;
      margin-bottom:4px;
    }
    .review-name{
      font-weight:500;
    }
    .review-text{
      font-size:13px;
      color:#4b5563;
    }

   .side-panel-row{
  display:flex;
  gap:12px;
  font-size:13px;
  align-items: stretch;   /* 讓高度一起拉滿 */
}

/* 三個盒子等寬 */
.side-panel-row .info-box{
  flex:1 1 0;
  border-radius:var(--radius-sm);
  padding:10px 12px;
  background:#fff;
  border:1px solid #e5e7eb;
  min-width:0;           /* 避免內容把寬度撐爆 */
}

/* 小螢幕改成直排 */
@media (max-width: 768px){
  .side-panel-row{
    flex-direction:column;
  }
}

    .info-box h3{
      font-size:13px;
      margin-bottom:4px;
    }
    .info-box ul{
      padding-left:16px;
      margin:4px 0 0;
    }
    .info-box li{
      margin-bottom:3px;
    }

    /* 推薦商品 */
    .section-title{
      font-size:16px;
      margin:28px 0 10px;
    }
    .recommend-grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:14px;
    }
    .product-card{
      background:var(--card);
      border-radius:var(--radius);
      padding:10px;
      box-shadow:var(--shadow-soft);
      border:1px solid var(--border);
      font-size:13px;
      display:flex;
      flex-direction:column;
      gap:6px;
    }
    .product-card img{
      border-radius:var(--radius-sm);
      height:250px;
      object-fit:cover;
    }
    .product-name{
      font-size:13px;
      font-weight:500;
    }
    .product-price{
      font-size:13px;
      color:#b91c1c;
    }

    /* Toast */
    .toast{
      position:fixed;
      left:50%;
      bottom:20px;
      transform:translateX(-50%);
      background:#111827;
      color:#f9fafb;
      padding:10px 16px;
      border-radius:999px;
      font-size:13px;
      display:none;
      align-items:center;
      gap:8px;
      box-shadow:0 12px 30px rgba(15,23,42,.6);
      z-index:30;
    }



    /* RWD */
    @media (max-width:900px){
      .product-layout{
        grid-template-columns:1fr;
      }
      .info-card{
        order:-1;
      }
      .content-grid{
        grid-template-columns:1fr;
      }
      .recommend-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
    }
    @media (max-width:640px){
      .header-inner{
        flex-wrap:wrap;
      }
     
      .info-card{
        padding:14px 14px 12px;
      }
      .gallery-card{
        padding:12px;
      }
      .recommend-grid{
        grid-template-columns:1fr 1fr;
      }
      .badge-corner{
        display:none;
      }
    }