 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 body {
     font-family: "Arial", "Helvetica Neue", Helvetica, sans-serif;
     padding: 30px;
     line-height: 1.8;
     max-width: 1200px;
     margin: 0 auto;
     color: #333;
     position: relative;
     background-color: #f5f7fa;
 }

 h1 {
     color: #1a202c;
     margin-bottom: 20px;
     border-bottom: 2px solid #e2e8f0;
     padding-bottom: 10px;
     font-weight: 600;
     font-size: 28px;
 }

 .specs {
     margin: 15px 0;
 }

 .specs span {
     display: inline-block;
     padding: 6px 12px;
     background: #e6f7ff;
     color: #1890ff;
     border-radius: 6px;
     margin-right: 8px;
     margin-bottom: 8px;
     font-size: 14px;
 }

 .price {
     font-size: 20px;
     color: #f5222d;
     font-weight: bold;
     margin: 15px 0;
 }

 .desc {
     margin: 20px 0;
     color: #374151;
     line-height: 1.8;
     padding: 30px;
     background-color: #ffffff;
     border-radius: 12px;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
     border: 1px solid #f5f5f5;
     font-size: 18px;
 }

 .desc img {
     max-width: 100% !important;
     box-shadow: none !important;
     border: none !important;
     outline: none !important;
 }

 .desc h2 {
     color: #1a202c;
     margin: 30px 0 15px 0;
     font-weight: 700;
     font-size: 24px;
     line-height: 1.4;
 }

 .desc h3 {
     color: #1a202c;
     margin: 25px 0 12px 0;
     font-weight: 600;
     font-size: 22px;
     line-height: 1.4;
 }

 .desc p {
     margin: 12px 0;
     font-size: 18px;
     line-height: 1.8;
 }

 .desc table {
     width: 100%;
     border-collapse: separate;
     border-spacing: 0;
     margin: 25px 0;
     font-size: 18px;
     border-radius: 12px;
     overflow: hidden;
     box-shadow: 0 3px 15px rgba(0, 0, 0, 0.04);
     background: #ffffff;
     border: 1px solid #f0f0f0;
 }

 .desc table td:first-child {
     width: 200px;
     background-color: #f8fafc;
     font-weight: 600;
     color: #2d3748;
     border-right: 1px solid #e8e8e8;
     padding: 18px 25px;
 }

 .desc table td {
     padding: 18px 25px;
     border-bottom: 1px solid #e8e8e8;
     vertical-align: middle;
     color: #2d3748;
     line-height: 1.6;
 }

 .desc table tr:last-child td {
     border-bottom: none;
 }

 .desc table tr:hover {
     background-color: #f7f9fc;
     transition: all 0.3s ease;
 }

 .desc table tr:hover td:first-child {
     background-color: #f1f5f9;
 }

 .desc table td:empty {
     padding: 18px 25px;
     color: #718096;
 }

 table {
     width: 100%;
     border-collapse: collapse;
     margin: 25px 0;
     font-size: 16px;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
     border-radius: 12px;
     overflow: hidden;
     background: #ffffff;
     border: 1px solid #f0f0f0;
 }

 table th {
     background: #1890ff;
     color: #ffffff;
     font-weight: 600;
     padding: 15px 20px;
     text-align: left;
     border: none;
     font-size: 18px;
 }

 table td {
     padding: 15px 20px;
     border: 1px solid #e8e8e8;
     vertical-align: middle;
     font-size: 16px;
 }

 table tr:nth-child(even) {
     background: #f8f9fa;
 }

 table tr:hover {
     background: #e6f7ff;
     transition: background 0.2s ease;
 }

 .product-wrap {
     display: flex;
     gap: 20px;
     margin-bottom: 30px;
     flex-wrap: wrap;
     position: relative;
 }

 .main-img-box {
     width: 500px;
     height: 500px;
     position: relative;
     border: 1px solid #f0f0f0;
     flex-shrink: 0;
     overflow: hidden;
     z-index: 1;
     border-radius: 12px;
     background: #ffffff;
 }

 .main-img {
     width: 100%;
     height: 100%;
     object-fit: contain;
     object-position: center;
     border-radius: 12px;
 }

 .magnifier-mask {
     width: 250px;
     height: 250px;
     background: rgba(255, 255, 255, 0.5);
     border: 1px solid #d9d9d9;
     position: absolute;
     top: 0;
     left: 0;
     display: none;
     pointer-events: none;
     z-index: 2;
     border-radius: 4px;
 }

 .magnifier-preview {
     width: 500px;
     height: 500px;
     position: fixed;
     top: 30px;
     left: calc(50% - 600px + 500px + 20px);
     border: 1px solid #f0f0f0;
     overflow: hidden;
     display: none;
     z-index: 9999;
     background: #ffffff;
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
     border-radius: 12px;
 }

 .preview-img {
     position: absolute;
     top: 0;
     left: 0;
     width: 1000px;
     height: 1000px;
     display: block !important;
     object-fit: contain;
 }

 .thumb-box {
     width: 500px;
     margin-top: 15px;
     display: flex;
     align-items: center;
     gap: 10px;
 }

 .thumb-arrow {
     width: 44px;
     height: 88px;
     display: flex;
     align-items: center;
     justify-content: center;
     background: #1890ff;
     border-radius: 8px;
     cursor: pointer;
     color: #ffffff;
     font-size: 24px;
     user-select: none;
     transition: all 0.3s ease;
     box-shadow: 0 2px 8px rgba(24, 144, 255, 0.2);
 }

 .thumb-arrow:hover {
     background: #096dd9;
     transform: scale(1.05);
     box-shadow: 0 4px 12px rgba(24, 144, 255, 0.3);
 }

 .thumb-list {
     display: flex;
     gap: 12px;
     overflow-x: auto;
     scroll-behavior: smooth;
     flex: 1;
     padding: 8px 0;
 }

 .thumb-item {
     width: 88px;
     height: 88px;
     border: 3px solid transparent;
     border-radius: 10px;
     overflow: hidden;
     cursor: pointer;
     flex-shrink: 0;
     background: #ffffff;
     transition: all 0.3s ease;
     box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
 }

 .thumb-item.active {
     border-color: #1890ff;
     box-shadow: 0 0 0 4px rgba(24, 144, 255, 0.3), 0 4px 12px rgba(24, 144, 255, 0.2);
     transform: scale(1.05);
 }

 .thumb-item:hover {
     border-color: #40a9ff;
     box-shadow: 0 4px 12px rgba(24, 144, 255, 0.2);
     transform: scale(1.03);
 }

 .thumb-item img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     border-radius: 7px;
 }

 .info-box {
     flex: 1;
     min-width: 300px;
     margin-left: 10px;
     padding: 20px;
     background: #ffffff;
     border-radius: 12px;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
     border: 1px solid #f5f5f5;
 }

 .back {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     position: fixed;
     bottom: 30px;
     right: 30px;
     z-index: 999;
     margin-top: 30px;
     padding: 16px 32px;
     background: linear-gradient(135deg, #1890ff 0%, #096dd9 100%);
     color: #fff;
     text-decoration: none;
     border-radius: 50px;
     transition: all 0.3s ease;
     border: none;
     font-size: 18px;
     font-weight: 600;
     box-shadow: 0 4px 16px rgba(24, 144, 255, 0.3);
     gap: 8px;
 }

 .back::before {
     content: "\2190";
     font-size: 20px;
 }

 .back:hover {
     background: linear-gradient(135deg, #096dd9 0%, #0050b3 100%);
     box-shadow: 0 6px 20px rgba(24, 144, 255, 0.4);
     transform: translateY(-3px);
 }

 .back:active {
     transform: translateY(1px);
 }

 @media (max-width: 992px) {

     .magnifier-preview,
     .magnifier-mask {
         display: none !important;
     }

     .main-img-box {
         width: 100%;
         height: auto;
         aspect-ratio: 1/1;
     }

     .thumb-box {
         width: 100%;
         height: auto;
     }

     .thumb-item {
         width: 70px;
         height: 70px;
     }

     .info-box {
         margin-left: 0;
         margin-top: 20px;
         width: 100% !important;
         max-width: 100% !important;
         padding: 20px 15px;
     }

     .desc {
         font-size: 16px;
         padding: 20px 15px;
         width: 100% !important;
         max-width: 100% !important;
         overflow-x: hidden;
         margin-left: 0 !important;
         margin-right: 0 !important;
     }

     .desc img {
         max-width: 100% !important;
         width: 100% !important;
         height: auto !important;
         object-fit: contain !important;
         margin: 15px 0 !important;
     }

     .desc table {
         width: 100% !important;
         max-width: 100% !important;
         display: block !important;
         overflow-x: auto !important;
         white-space: nowrap !important;
         font-size: 14px !important;
     }

     .desc table td:first-child {
         width: 120px !important;
         padding: 12px 15px !important;
     }

     .desc table td {
         padding: 12px 15px !important;
         font-size: 14px !important;
         white-space: nowrap !important;
     }

     .desc h2 {
         font-size: 22px;
     }

     .desc h3 {
         font-size: 20px;
     }

     .desc p {
         font-size: 16px;
     }

     .back {
         bottom: 20px;
         right: 20px;
         padding: 14px 24px;
         font-size: 16px;
     }

     .product-wrap {
         padding: 0 !important;
         width: 100%;
         gap: 10px;
     }

     body {
         padding: 15px 10px !important;
         overflow-x: hidden;
     }

     .img-section {
         width: 100%;
     }
 }

 @media (max-width: 480px) {
     .thumb-item {
         width: 60px;
         height: 60px;
     }

     .back {
         padding: 12px 20px;
         font-size: 14px;
         border-radius: 40px;
     }

     .main-img-box {
         aspect-ratio: 1/1;
         min-height: 280px;
     }

     .desc img {
         object-fit: cover !important;
     }

     .desc table td {
         font-size: 12px !important;
         padding: 10px 12px !important;
     }

     .desc table td:first-child {
         width: 100px !important;
     }
 }

 .img-preview-modal {
     position: fixed;
     top: 0;
     left: 0;
     width: 100vw;
     height: 100vh;
     background: rgba(0, 0, 0, 0.9);
     z-index: 99999;
     display: none;
     align-items: center;
     justify-content: center;
     padding: 20px;
 }

 .img-preview-modal.active {
     display: flex;
 }

 .preview-img-large {
     max-width: 100%;
     max-height: 90vh;
     object-fit: contain;
     animation: zoomIn 0.3s ease;
 }

 .close-preview {
     position: absolute;
     top: 20px;
     right: 20px;
     color: #fff;
     font-size: 30px;
     cursor: pointer;
     width: 40px;
     height: 40px;
     display: flex;
     align-items: center;
     justify-content: center;
     background: rgba(0, 0, 0, 0.5);
     border-radius: 50%;
 }

 @keyframes zoomIn {
     from {
         opacity: 0;
         transform: scale(0.8);
     }

     to {
         opacity: 1;
         transform: scale(1);
     }
 }