@charset "utf-8";.ksm-product-composition{margin:40px 0;padding:30px;background:#f9fafb;border-radius:12px}.composition-title{font-size:28px;font-weight:600;margin-bottom:30px;color:#111827;text-align:center}.composition-items.composition-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}.composition-item{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.08);transition:all 0.3s ease}.composition-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,0.12)}.composition-item-image{position:relative;padding-top:100%;overflow:hidden}.composition-item-image a{position:absolute;top:0;left:0;width:100%;height:100%}.composition-item-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease}.composition-item:hover .composition-item-image img{transform:scale(1.08)}.composition-item-info{padding:16px}.composition-item-title{margin:0 0 8px 0;font-size:16px;font-weight:500;line-height:1.4}.composition-item-title a{color:#111827;text-decoration:none}.composition-item-title a:hover{color:#2563eb}.composition-item-code{font-size:13px;color:#6b7280;margin-bottom:8px}.composition-item-price{font-size:18px;font-weight:700;color:#059669;margin:12px 0}.composition-item-link{display:inline-block;padding:8px 16px;background:#f3f4f6;color:#374151;text-decoration:none;border-radius:6px;font-size:14px;font-weight:500;transition:all 0.2s ease;margin-top:8px}.composition-item-link:hover{background:#2563eb;color:#fff}.composition-total{margin-top:32px;padding:24px;background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border-radius:12px;display:flex;justify-content:space-between;align-items:center;border:2px solid #86efac}.composition-total-label{font-size:18px;font-weight:600;color:#166534}.composition-total-price{font-size:32px;font-weight:800;color:#15803d}@media (max-width:768px){.ksm-product-composition{padding:20px}.composition-items.composition-grid{grid-template-columns:repeat(2,1fr);gap:16px}.composition-total{flex-direction:column;gap:12px;text-align:center}.composition-total-price{font-size:28px}}
@media (max-width:480px){.composition-items.composition-grid{grid-template-columns:1fr}}
